Javascript控制onbeforeunload刷新还是关闭时间

最近,项目中需要做一个关闭IE窗口前的提示事件。

 

网上寻找了一下这方面:

 

其实就是一个onbeforeunload方法的问题

 

对于右上角的关闭来说,使用onbeforeunload来调用函数就可以了

 

可是对于在页面上做关闭窗口事件呢,这也是一个小小问题,其实就是再做一个js函数,直接使用window.close()就可以了,它会在IE窗口关闭前,调用onbeforeunload事件。

 

但是onbeforeunload有个小毛病,就是页面刷新时,他还是会调用到onbeforeunload,为什么?其实刷新就相当于关闭了这个IE再重新打开的意思,因此还是会调用到onbeforeunload。

 

究竟怎么解决刷新不调用onbeforeunload呢?

 

网上提供很多方法,本人觉得最实用还是以下这段JS

 

window.onbeforeunload   =   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("是关闭而非刷新");   
          window.event.returnValue   =   "是否关闭?";
      }else{
             alert("是刷新而非关闭");   
     }   
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值