javascript在當(dāng)前窗口關(guān)閉前檢測(cè)窗口是否關(guān)閉
在當(dāng)前窗口關(guān)閉前,檢測(cè)當(dāng)前窗口是否關(guān)閉
<pre name="code" class="html"><pre name="code" class="html"><HTML><HEAD> <script Language="JavaScript"> window.onbeforeunload=function(event){ alert("222"); //這里IE9會(huì)執(zhí)行,CHROME不會(huì)執(zhí)行 // if(event.clientX>document.body.clientWidth && event.clientY<0||event.altKey){ //如果是刷新,則不提示 RETURN "確定關(guān)閉窗口?"; // } } var aa ; var intervalVar; function showClose(){ console.log(" wait and val is :"+aa.closed); clearInterval(intervalVar); } function loadform(){ aa=window.open('foo.html', 'windowName',"width=200,height=200,scrollbars=no"); console.log("check close before op and val is :"+aa.closed); //現(xiàn)在窗口未關(guān)閉,結(jié)果為false aa.close();<span style="white-space:pre"> </span> //調(diào)用窗口關(guān)閉的方法 console.log("not in wait and val is :"+aa.closed); //此時(shí)aa.close正在調(diào)用過(guò)程中,結(jié)果為false intervalVar = setInterval(showClose,100); }; //用循環(huán)檢測(cè)子窗口是否關(guān)閉,其實(shí)用setTimeout也是可以的,不過(guò)值要設(shè)得大一些 function unloadform(){ alert("2!"); } </script> </HEAD><BODY OnLoad="loadform()" OnUnload="unloadform()"> </BODY></HTML>
在ie9中,如果刷新文檔的話,unloadform和onbeforeunload都會(huì)執(zhí)行,如果是關(guān)閉頁(yè)面的話只會(huì)執(zhí)行onbeforeunload事件
值得注意的是,onunload在關(guān)閉頁(yè)面時(shí)不會(huì)運(yùn)行,估計(jì)此函數(shù)為瀏覽器內(nèi)置事件,不能重新定義
在chrome中,如果刷新文檔的話,unloadform和onbeforeunload都會(huì)執(zhí)行,關(guān)閉頁(yè)面的話,只會(huì)執(zhí)行onbeforeunload,值得注意的是有注釋的那一行一直不會(huì)執(zhí)行.
如果是window.open打開(kāi)的子窗口的話,可以通過(guò)window.closed屬性檢測(cè)是否關(guān)閉
<HTML><HEAD> <script Language="JavaScript"> var aa ; var intervalVar; function showClose(){ console.log(" wait and val is :"+aa.closed); clearInterval(intervalVar); } function loadform(){ aa=window.open('foo.html', 'windowName',"width=200,height=200,scrollbars=no"); console.log("check close before op and val is :"+aa.closed); //現(xiàn)在窗口未關(guān)閉,結(jié)果為false aa.close(); //調(diào)用窗口關(guān)閉的方法 console.log("not in wait and val is :"+aa.closed); //此時(shí)aa.close正在調(diào)用過(guò)程中,結(jié)果為false intervalVar = setInterval(showClose,100); }; //用循環(huán)檢測(cè)子窗口是否關(guān)閉,其實(shí)用setTimeout也是可以的,不過(guò)值要設(shè)得大一些 function unloadform(){ alert("2!"); } </script> </HEAD><BODY OnLoad="loadform()" OnUnload="unloadform()"> <a href="test.htm">調(diào)用</a> </BODY></HTML>
父窗口關(guān)閉時(shí)會(huì)自動(dòng)將window.open關(guān)閉的代碼
<HTML><HEAD> <script Language="JavaScript"> var aa ; var intervalVar; window.onbeforeunload=function(event){ aa.close(); return "hello"; } function loadform(){ aa=window.open('test.htm', 'windowName',"width=200,height=200,scrollbars=no"); }; function unloadform(){ alert("2!"); } </script> </HEAD><BODY OnLoad="loadform()" OnUnload="unloadform()"> <a href="test.htm">調(diào)用</a> </BODY></HTML>
- js窗口關(guān)閉提示信息(兼容IE和firefox)
- js父窗口關(guān)閉時(shí)子窗口隨之關(guān)閉完美解決方案
- jsp頁(yè)面中窗口關(guān)閉,退出的方式分享
- 打開(kāi)新窗口關(guān)閉當(dāng)前頁(yè)面不彈出關(guān)閉提示js代碼
- JavaScript 捕獲窗口關(guān)閉事件
- js事件監(jiān)聽(tīng)器用法實(shí)例詳解
- js實(shí)現(xiàn)滑動(dòng)觸屏事件監(jiān)聽(tīng)的方法
- javascript監(jiān)聽(tīng)鼠標(biāo)滾輪事件淺析
- JS針對(duì)瀏覽器窗口關(guān)閉事件的監(jiān)聽(tīng)方法集錦
相關(guān)文章
基于Taro的微信小程序模板消息-獲取formId功能模塊封裝實(shí)踐
這篇文章主要介紹了基于Taro的微信小程序模板消息-獲取formId功能模塊封裝實(shí)踐,小程序提供了一種能力-模板消息,基于微信的通知渠道,我們?yōu)殚_(kāi)發(fā)者提供了可以高效觸達(dá)用戶的模板消息能力,以便實(shí)現(xiàn)服務(wù)的閉環(huán)并提供更佳的體驗(yàn),需要的朋友可以參考下2019-07-07js style動(dòng)態(tài)設(shè)置table高度
設(shè)置table高度想必大家都會(huì),直接在table標(biāo)簽中設(shè)置下不就行了嗎?這是靜態(tài)的,如果要?jiǎng)討B(tài)設(shè)置你會(huì)嗎?下面的實(shí)例將教會(huì)大家2014-10-10Javascript 各瀏覽器的 Javascript 效率對(duì)比
2008-01-01Three.js實(shí)現(xiàn)繪制字體模型示例代碼
最近在學(xué)習(xí)three.js,這篇文章屬于系列文章,下面這篇文章主要給大家介紹了關(guān)于Three.js如何繪制字體模型的相關(guān)資料,通過(guò)文中介紹的方法實(shí)現(xiàn)的效果非常的贊,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-09-09JavaScript中使用webuploader實(shí)現(xiàn)上傳視頻功能(demo)
這篇文章主要介紹了webuploader實(shí)現(xiàn)上傳視頻功能,通過(guò)本文給大家介紹了上傳視頻和上傳圖片的區(qū)別講解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-04-04BootStrap學(xué)習(xí)系列之Bootstrap Typeahead 組件實(shí)現(xiàn)百度下拉效果(續(xù))
這篇文章主要介紹了BootStrap學(xué)習(xí)系列之Bootstrap Typeahead 組件實(shí)現(xiàn)百度下拉效果的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07JavaScript之移動(dòng)端H5生成圖片解決方案講解
這篇文章主要介紹了JavaScript之移動(dòng)端H5生成圖片解決方案講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08