onbeforeunload和onunload

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了onbeforeunload和onunload相关的知识,希望对你有一定的参考价值。

1.触发条件

  离开页面是调度,具体分为:

    (1)点击某个超链接跳转

    (2)地址栏中键入新的url

    (3)点击前进或者后退按钮

    (4)关闭浏览器

    (5)刷新页面

2.注册形式

  (1)<body onbeforeunload="...">

  (2)window.onbeforeunload = ....;

3.区别

  beforeunload是正要去服务器拉取新的页面时调度,而unload是新页面已经得到,准备替换当前页面时调度。所以beforeunload更加强大,它能阻止unload的执行,也就是能阻止页面的更新和关闭

4.兼容性

window.onunload = function(){
    alert("unload is work");
}

IE:刷新,跳转执行,关闭浏览器不执行

ff/chrome:都不执行

 

window.onbeforeunload = function(){
    return "before unload";  
}

IE:刷新,跳转,关闭都执行

FF/CHROME:不执行

 

  

以上是关于onbeforeunload和onunload的主要内容,如果未能解决你的问题,请参考以下文章

跨浏览器 Onunload 和 Onbeforeunload ? (尤其是歌剧 11)

JavaScript 问题:Onbeforeunload 还是 Onunload?

刷新或关闭时调用onbeforeunload

bug-3——onload,onbeforeunload,Onunload的区别

使用onbeforeunload事件检测窗口是否刷新或关闭 .

用js判断页面刷新或关闭的方法