Chrome 浏览器关闭时不触发 `onbeforeunload` 事件,如何解决?

chrome 浏览器关闭时不触发 `onbeforeunload` 事件,如何解决?

Chrome onbeforeunload 事件失效,替代方案

在使用 Chrome 浏览器时,发现 window.onbeforeunload 事件在关闭浏览器时不触发。对于此问题,存在以下替代方案:

该事件在页面即将卸载时触发,包括关闭浏览器、切换标签页以及从页面导航到其他页面。不过,与 onbeforeunload 事件不同,beforeunload 事件无法阻止页面卸载。

该事件在页面卸载后触发,但在此事件中,无法阻止页面卸载或修改页面。

  • 页面可见性 API

此 API 提供页面可见性信息,可以使用它来检测页面何时进入后台。当页面进入后台时,可以显示一条提示消息,询问用户是否要离开页面。

  • 确认对话框

可以在关闭浏览器之前显示一个确认对话框,询问用户是否要离开页面。这可以在用户退出之前向其提供最后的确认。

测试结果

Chrome 73.0.3683.103 版本中进行测试发现:

  • 直接关闭页面不会触发 onbeforeunload 事件
  • 与页面交互(如单击链接)后关闭页面,会触发 onbeforeunload 事件

以上就是Chrome 浏览器关闭时不触发 `onbeforeunload` 事件,如何解决?的详细内容,更多请关注其它相关文章!