Maison  >  Article  >  interface Web  >  Comment empêcher les utilisateurs d'effectuer d'autres opérations sur la page Web pendant le téléchargement de la page Web files_jquery

Comment empêcher les utilisateurs d'effectuer d'autres opérations sur la page Web pendant le téléchargement de la page Web files_jquery

WBOY
WBOYoriginal
2016-05-16 16:43:051581parcourir

Lors du téléchargement de fichiers à partir de pages Web, les fichiers sont parfois trop volumineux et leur génération prend un certain temps. À l'heure actuelle, pour empêcher les utilisateurs d'effectuer d'autres opérations sur la page Web, une méthode consiste à utiliser un div pour couvrir la page Web et la verrouiller.

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); 
}

Utilisez la fonction ci-dessus pour verrouiller la page afin d'empêcher plusieurs opérations jusqu'à ce que la boîte de téléchargement apparaisse pour annuler l'écran de verrouillage.

Définir les cookies côté serveur (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");

Importez le plug-in jquery.cookie.js côté client (html, js), incluez ce plug-in dans le fichier html, et obtenez régulièrement des cookies dans le fichier js

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 
} 

C'est tout.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn