让前端飞Web前端之路Web 前端开发

关于 onbeforeunload 和 onunload 事件手

2018-04-28  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读