網(wǎng)頁(yè)下載文件期間如何防止用戶對(duì)網(wǎng)頁(yè)進(jìn)行其他操作
做網(wǎng)頁(yè)下載文件時(shí),有時(shí)候文件過(guò)大,生成文件需要一段時(shí)間。這個(gè)時(shí)候要防止用戶對(duì)網(wǎng)頁(yè)進(jìn)行其他操作,有種方法就是使用一個(gè)div覆蓋在網(wǎng)頁(yè)上,將網(wǎng)頁(yè)鎖住。
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ù)可以鎖住頁(yè)面防止多次操作,要直到下載框出現(xiàn)時(shí)取消鎖屏。
在服務(wù)器端(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)導(dǎo)入插件jquery.cookie.js,在html文件中要包含此插件,js文件中定時(shí)獲取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)文章
jQuery實(shí)現(xiàn)數(shù)字加減效果匯總
本文將介紹常見(jiàn)的幾種使用spinner數(shù)字微調(diào)器來(lái)實(shí)現(xiàn)數(shù)字加減的功能的方法。非常的簡(jiǎn)單實(shí)用,這里推薦給大家2014-12-12從JavaScript 到 JQuery (1)學(xué)習(xí)小結(jié)
本人使用JavaScript 已經(jīng)有2年左右的時(shí)間了,一直被它簡(jiǎn)潔優(yōu)雅的代碼所吸引, 近期接觸了 JQuery這個(gè)庫(kù) , 感覺(jué)還不錯(cuò), 但是并不意味著要舍棄 JavaScript , 而是更宣揚(yáng)結(jié)合使用 .2009-02-02使用jquery自定義鼠標(biāo)樣式滿足個(gè)性需求
瀏覽器是有自帶的鼠標(biāo)樣式的,如果某些時(shí)候?yàn)榱吮3质髽?biāo)樣式的統(tǒng)一,或者想指定特定的鼠標(biāo)樣式該怎么辦呢?那就要使用自定義了,下面有個(gè)不錯(cuò)的示例,喜歡的朋友可以參考下2013-11-11jQuery實(shí)現(xiàn)ichat在線客服插件
這篇文章主要介紹了jQuery實(shí)現(xiàn)ichat在線客服插件,需要的朋友可以參考下2014-12-12跟著Jquery API學(xué)Jquery之一 選擇器
Jquery 選擇器是最基本的操作了,當(dāng)我們用原生的javascript的時(shí)候,我們?yōu)榱诉x擇一個(gè)對(duì)象不得不花費(fèi)九頭二虎之力2010-04-04jquery基礎(chǔ)知識(shí)第一講之認(rèn)識(shí)jquery
jquery基礎(chǔ)知識(shí)第一講之初次見(jiàn)面,對(duì)jquery有一個(gè)初步認(rèn)識(shí),為之后的學(xué)習(xí)打下基礎(chǔ),感興趣的小伙伴們可以參考一下2016-03-03javaScript和jQuery自動(dòng)加載簡(jiǎn)單代碼實(shí)現(xiàn)方法
給大家介紹一下利用javaScript和jQuery實(shí)現(xiàn)自動(dòng)加載最簡(jiǎn)單的代碼寫(xiě)法。2017-11-11jQuery插件zTree實(shí)現(xiàn)單獨(dú)選中根節(jié)點(diǎn)中第一個(gè)節(jié)點(diǎn)示例
這篇文章主要介紹了jQuery插件zTree實(shí)現(xiàn)單獨(dú)選中根節(jié)點(diǎn)中第一個(gè)節(jié)點(diǎn)的方法,結(jié)合實(shí)例形式分析了jQuery樹(shù)形插件zTree的具體使用技巧,需要的朋友可以參考下2017-03-03