美文网首页让前端飞Web前端之路Web 前端开发
关于 onbeforeunload 和 onunload 事件手

关于 onbeforeunload 和 onunload 事件手

作者: 水念 | 来源:发表于2018-04-28 18:56 被阅读50次

    闲话少说,直奔主题。

    Front

    明人不说暗话,博主在这里直接就告诉你了,直接用 onbeforeunload 事件,不要用 onunload,看代码:

    <script type="text/javascript">
      window.onbeforeunload = function (e) {
        console.log('coming...');
        // alert('coming...');
        var msg = '你确定要离开此页面吗?';
        e.returnValue = msg;
        return msg;
       }
    </script>
    

    以上代码我是用 console 进行测试,为什么这里用它而不是用 alert 呢?因为不管在 onbeforeunload 还是 unload 事件中, alert 都是不支持的。SO,没毛病老铁!

    Why not onunload ?

    这个问题问的好。
    一句话总结:onunload 在 Opera、Firefox、Chrome 新版本中任何情况下都不会执行。
    任何情况下之的是什么呢?即用户点击了浏览器的:

    • 后退
    • 前进
    • 刷新
    • 主页
    • 标签页
    • 关闭
    • 页面链接
    • 右键刷新
    • 右键前进、后退、返回

    Why onbeforeunload ?

    因为它骚啊!在 IE、Opera、FF、Chrome 中完美运行。而且实践证明是可行的,不光在 PC 端适用,在 H5 端也是可以的。

    Club

    有什么问题可以加我的QQ群:562522675 、378289676、322239039

    Related link

    相关文章

      网友评论

        本文标题:关于 onbeforeunload 和 onunload 事件手

        本文链接:https://www.haomeiwen.com/subject/yqcnlftx.html