Beim Herunterladen von Dateien auf Webseiten sind die Dateien manchmal zu groß und es dauert eine Weile, bis die Datei generiert wird. Um zu verhindern, dass Benutzer andere Operationen auf der Webseite ausführen, können Sie eine DIV verwenden, um die Webseite zu überschreiben und die Webseite zu sperren.
function lockscreen () {swidth = $ (Fenster) .Width (); SHEIGHT = $ (Fenster) .height (); var bgobj = document.createelement ("div"); Bgobj.Setattribute ('id', 'bgdiv'); bgobj.style.position = "absolut"; bgobj.style.top = "0"; bgobj.style.background = "#CCCCCC"; Bgobj.Style.Filter = "progid: dimaTransform.microSoft.Alpha (Stil = 3, Opazität = 25, FinishoPacity = 75"; Bgobj.Style.Opacity = "0,6"; bgobj.style.left = "0"; BgOBJ.Style.Height = SHEIGHT + "PX";Verwenden Sie die obige Funktion, um die Seite zu sperren, um mehrere Vorgänge zu verhindern, und stornieren Sie den Sperrbildschirm, bis das Download -Feld angezeigt wird.
Stellen Sie Cookies auf der Serverseite (CGI) fest:
<pre name = "code"> char *configDownloadToken = "fundDownloadFile"; printf ("Inhaltstyp: Anwendung/Oktett-Stream/NContent-Length: %ld/n", s.st_size); printf ("set-Cookie: configDownLoadToken =%s; path =/;/r/n", configDownLoadToken); printf ("Inhaltsdisposition: Anhang; Dateiname =/"%s/"/n", Strrchr (Dateiname, '/') + 1); printf ("Verbindung: Close/n/n");Importieren Sie das Plugin jQuery.cookie.js im Client (HTML, JS) und geben Sie dieses Plugin in die HTML -Datei ein und erhalten Sie regelmäßig Cookies in der JS -Datei
var configdownloadChecktimer; $ (document) .ready (function () {configDownLoadChecktimer = window.setInterval (function () {var cookievalue = $ .cookie ('configDownLoadToken'); if (cookievalue === "ende DownloadFile") {refreshpage (); FinishDownLoad ();}}, 1000);}; function FinishDownLoad () {window.clearInterval (configDownloadChecktimer); $ .removecookie ('configDownloadToken'); // löscht diesen Cookie -Wert}Das ist alles.