本文作者: jsweibo
本文链接: https://jsweibo.github.io/2019/10/05/JavaScript%E4%B8%AD%E7%9A%84window-onbeforeunload/
摘要
本文主要讲述了:
- 作用
- 测试文档
- 测试结果
正文
作用
- 监听试图离开当前网页的行为(刷新当前网页、关闭当前网页、跳转到新网页)
- 如果开发者阻止了
beforeunload
事件的默认行为,那么浏览器将会显示系统弹窗供用户二次确认是否离开当前网页
注意:
- HTML 标准禁止开发者在
beforeunload
事件的回调函数中使用alert()
、confirm()
、prompt()
- Webkit 系的浏览器没有遵循 HTML 标准,不支持通过
event.preventDefault()
阻止beforeunload
的默认行为,而是通过向event.returnValue
赋值实现 - 在 Firefox 浏览器下,若用户在试图刷新当前网页之前,没有点击过当前网页的任何内容,
beforeunload
事件不会触发 - 除了 IE 浏览器之外,若用户在试图关闭当前网页之前,没有点击过当前网页的任何内容,
beforeunload
事件不会触发 - 除了 IE 浏览器之外,若用户在试图跳转到新网页之前,没有点击过当前网页的任何内容,
beforeunload
事件不会触发 history.pushState()
或history.replaceState()
不会触发beforeunload
事件
测试文档
1 |
|
1 |
|
1 |
|
测试结果
Browser Name | Browser Version | event.preventDefault() |
event.returnValue |
return |
自定义文本 |
---|---|---|---|---|---|
IE | 11.0 | true |
true |
true |
true |
Firefox | 69.0.1 | true |
true |
false |
false |
Chrome | 77.0.3865.90 | false |
true |
false |
false |
参考资料
本文作者: jsweibo
本文链接: https://jsweibo.github.io/2019/10/05/JavaScript%E4%B8%AD%E7%9A%84window-onbeforeunload/
本文对你有帮助?请支持我
- 本文链接: https://jsweibo.github.io/2019/10/05/JavaScript%E4%B8%AD%E7%9A%84window-onbeforeunload/
- 版权声明: 除非另有说明,否则本网站上的内容根据署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。