最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript在當(dāng)前窗口關(guān)閉前檢測(cè)窗口是否關(guān)閉

 更新時(shí)間:2014年09月29日 17:03:13   投稿:whsnow  
檢測(cè)窗口是否關(guān)閉,在當(dāng)前窗口關(guān)閉前使用js做到這一點(diǎn),下面是具體的實(shí)現(xià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>

相關(guān)文章

最新評(píng)論

德庆县| 平湖市| 哈密市| 临桂县| 邓州市| 乌拉特后旗| 石城县| 虞城县| 新昌县| 安国市| 长武县| 曲沃县| 浦城县| 金阳县| 宜昌市| 三门峡市| 古丈县| 台前县| 德安县| 金沙县| 浑源县| 阳山县| 旅游| 临汾市| 三河市| 汉中市| 天镇县| 穆棱市| 南川市| 曲阜市| 宜兰县| 明星| 榆树市| 友谊县| 揭阳市| 淮南市| 无棣县| 岳阳市| 民县| 庆城县| 远安县|