关于 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