浏览器处理unload和onbeforeunload事件

文章参考

  1. 关闭窗口时onunload和onbeforeunload不起作用的解决办法
  2. JS之onunload、onbeforeunload事件详解

兼容说明

不同浏览器对事件的处理

  • IE浏览器 页面跳转、刷新页面能执行,但关闭浏览器不能执行;
  • firefox 页面跳转能执行,但刷新页面、关闭浏览器不能执行;
  • Safari 刷新页面、页面跳转,关闭浏览器都会执行;
  • Opera、Chrome任何情况都不执行。

大体一句话描述:IE, Firefox, 和 Safari 支持 onunload 事件, 但是 Chrome 或者 Opera 不支持该事件。

chrome响应

上网查了查相关的解释,大佬说:“onbeforeunload和onunload在谷歌和火狐中,必须先按F12打开开发者模式,刷新或关闭网页,才会用提示框 。而且不能连续刷新,如刷新第一次有提示框接着刷新第二次,就变成直接刷新没有提示框。但是如果2次刷新时间间隔在30秒左右,则第二次刷新会有提示框。如果不按F12打开开发者模式,谷歌和火狐在onbeforeunload事件触发时都不会有提示框,会直接刷新或关闭页面”。

案例说明

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>onbeforeunload测试</title>
    <script>
      window.onbeforeunload = function() {
        alert("欢迎下次再来!onbeforeunload");
        return "onbeforeunload is work";
      };
      function checkLeave() {
        alert("欢迎下次再来!onunload");
        return "huangbiao";
      }
    </script>
  </head>
  <body onunload="checkLeave()">
    学习onbeforeunload 和 onunload 事件
  </body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值