網(wǎng)頁下載文件期間如何防止用戶對網(wǎng)頁進行其他操作
做網(wǎng)頁下載文件時,有時候文件過大,生成文件需要一段時間。這個時候要防止用戶對網(wǎng)頁進行其他操作,有種方法就是使用一個div覆蓋在網(wǎng)頁上,將網(wǎng)頁鎖住。
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); }
使用如上函數(shù)可以鎖住頁面防止多次操作,要直到下載框出現(xiàn)時取消鎖屏。
在服務器端(cgi)中設(shè)置cookie:
<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");
在客戶端(html、js)導入插件jquery.cookie.js,在html文件中要包含此插件,js文件中定時獲取cookie
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 }
這樣就可以了。
相關(guān)文章
從JavaScript 到 JQuery (1)學習小結(jié)
本人使用JavaScript 已經(jīng)有2年左右的時間了,一直被它簡潔優(yōu)雅的代碼所吸引, 近期接觸了 JQuery這個庫 , 感覺還不錯, 但是并不意味著要舍棄 JavaScript , 而是更宣揚結(jié)合使用 .2009-02-02javaScript和jQuery自動加載簡單代碼實現(xiàn)方法
給大家介紹一下利用javaScript和jQuery實現(xiàn)自動加載最簡單的代碼寫法。2017-11-11jQuery插件zTree實現(xiàn)單獨選中根節(jié)點中第一個節(jié)點示例
這篇文章主要介紹了jQuery插件zTree實現(xiàn)單獨選中根節(jié)點中第一個節(jié)點的方法,結(jié)合實例形式分析了jQuery樹形插件zTree的具體使用技巧,需要的朋友可以參考下2017-03-03