关于 onbeforeunload
页面在关闭前会有 onbeforeUnload
事件,来询问用户是否要关闭这个页面/标签。
- 浏览器的 F5 刷新为:
onbeforeUnload → onunload → onload
。 - 浏览器关闭为:
onbeforeUnload → onunload
;
在 window.onbeforeunload
的方法体中用 alert
或 confirm
这样的方法在 IE 中是有效的,会弹出来,点击后页面也会关闭。confirm
也是如此,即使你 confirm
点击了取消还是会刷新/关闭页面。
而在现代浏览器 Chrome、Firefox 中是不会弹出来的,但是会执行。这是浏览器的一个 bug 或者机制吧,在页面关闭后 alert
和 confirm
等弹出框是不会弹出来的。想要一个可以让用户选择的是否关闭的办法,alert
和 confirm
是不可行的。
网上查了下资料发现用 event.returnValue = '你想让用户看到的信息'
这样的方法可以在页面被关闭之前让用户看到提示信息“这个页面要被关闭了,你想关闭还是不关闭?”来让用户进行选择。
IE8、Chrome 可以让用户完全看到你 rerturnValue
中的信息,Firefox 的内容就是浏览器自带的,不管你returnValue
设置的显示内容是如何,它始终显示自带的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论