Heim > Web-Frontend > js-Tutorial > So verhindern Sie, dass Benutzer andere Vorgänge auf der Webseite ausführen, während die Webseite files_jquery herunterlädt

So verhindern Sie, dass Benutzer andere Vorgänge auf der Webseite ausführen, während die Webseite files_jquery herunterlädt

WBOY
Freigeben: 2016-05-16 16:43:05
Original
1659 Leute haben es durchsucht

Beim Herunterladen von Dateien von Webseiten sind die Dateien manchmal zu groß und das Generieren der Dateien dauert eine Weile. Um zu verhindern, dass Benutzer andere Vorgänge auf der Webseite ausführen, besteht eine Methode derzeit darin, die Webseite mit einem Div abzudecken und zu sperren.

function lockScreen() 
{ 
sWidth=$(window).width(); 
sHeight=$(window).height(); 
var bgObj=document.createElement("div"); 
bgObj.setAttribute('id','bgDiv'); 
bgObj.style.position="absolute"; 
bgObj.style.top="0"; 
bgObj.style.background="#CCCCCC"; 
bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75"; 
bgObj.style.opacity="0.6"; 
bgObj.style.left="0"; 
bgObj.style.width=sWidth + "px"; 
bgObj.style.height=sHeight + "px"; 
if(sWidth < 860) 
{ 
bgObj.style.width="860px"; 
} 
bgObj.style.zIndex = "10000"; 
document.body.appendChild(bgObj); 
}
Nach dem Login kopieren

Verwenden Sie die obige Funktion, um die Seite zu sperren, um mehrere Vorgänge zu verhindern, bis das Download-Feld erscheint, um den Sperrbildschirm aufzuheben.

Cookies serverseitig setzen (CGI):

<pre name="code" class="cpp">char *configDownloadToken = "finishedDownloadFile"; 
printf("Content-Type: application/octet-stream\nContent-Length: %ld\n", s.st_size); 
printf( "Set-Cookie:configDownloadToken=%s; path=/; \r\n ",configDownloadToken); 
printf("Content-Disposition: attachment; filename=\"%s\"\n", strrchr(filename,'/') + 1); 
printf("Connection: close\n\n");
Nach dem Login kopieren

Importieren Sie das Plug-in jquery.cookie.js auf der Clientseite (html, js), fügen Sie dieses Plug-in in die HTML-Datei ein und rufen Sie regelmäßig Cookies in der js-Datei ab

var configDownloadCheckTimer; 
$(document).ready(function () { 
configDownloadCheckTimer = window.setInterval(function() { 
var cookieValue = $.cookie('configDownloadToken'); 
if (cookieValue === "finishedDownloadFile") 
{ 
refreshPage(); 
finishDownload(); 
} 
}, 1000); 
}); 

function finishDownload() { 
window.clearInterval(configDownloadCheckTimer); 
$.removeCookie('configDownloadToken'); //clears this cookie value 
} 
Nach dem Login kopieren

Das ist es.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage