onbeforeunload和onunload

1.触发条件

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

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

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

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

    (4)关闭浏览器

    (5)刷新页面

2.注册形式

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

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

3.区别

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

4.兼容性

  A.

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

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

ff/chrome:都不执行

 

B.

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

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

ff/chrome:不执行

 

C.

window.onbeforeunload = function(){
      event.returnValue = "close?";
}

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

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

ff:都不执行

 

D.

window.onbeforeunload = function(event){
      event.returnValue = "close?";
}

IE/chrome:都执行

ff:有弹框,但是内容是ff自带的

 

  

你可能感兴趣的:(onbeforeunload和onunload)