js判断浏览器是否关闭

http://www.blogjava.net/wyz191/archive/2008/12/08/245089.html JS
 
window.onunload=function(){
     var n=window.event.screenX-window.screenLeft;
     var b=n>document.documentElement.scrollWidth-20;
     if(b&&window.event.clientY<0||window.event.altKey){
          alert("关闭");
     }else{
          alert("刷新");
     }
}
 

三大主流浏览器中firefox和IE都支持onbeforeunload事件,opera尚未支持。

用法:

  • object.onbeforeunload = handler
  • <element onbeforeunload = “handler” … ></element>

描述:
事件触发的时候弹出一个有确定和取消的对话框,确定则离开页面,取消则继续待在本页。
handler可以设一个返回值作为该对话框的显示文本。

触发于:

  • 关闭浏览器窗口
  • 通过地址栏或收藏夹前往其他页面的时候
  • 点击返回,前进,刷新,主页其中一个的时候
  • 点击 一个前往其他页面的url连接的时候
  • 调用以下任意一个事件的时候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.
  • 当用window open打开一个页面,并把本页的window的名字传给要打开的页面的时候。
  • 重新赋予location.href的值的时候。
  • 通过input type=”submit”按钮提交一个具有指定action的表单的时候。

可以用在以下元素:
BODY, FRAMESET, window

平台支持:
IE4+/Win, Mozilla 1.7a+, Netscape 7.2+, Firefox0.9+

 
     标签只有onloadonunloadonbeforeunload事件,而没有onclose事件。不管页面是关闭还是刷新都会执行onunload事件。如何捕捉到页面关闭呢? 
     页面加载时只执行onload 
     页面关闭时只执行onunload 
     页面刷新时先执行onbeforeunload,然后onunload,最后onload。这样我们可以在onbeforeunload中加一个标记,在onunload中判断该标记,即可达到判断页面是否真的关闭了。
 
原文地址:https://www.cnblogs.com/svennee/p/4073152.html