首页 >web前端 >js教程 >为什么 `window.onbeforeunload` 和 `window.onunload` 不能在 Firefox、Safari 和 Opera 中工作?

为什么 `window.onbeforeunload` 和 `window.onunload` 不能在 Firefox、Safari 和 Opera 中工作?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-02 21:21:30671浏览

Why Aren't `window.onbeforeunload` and `window.onunload` Working in Firefox, Safari, and Opera?

window.onbeforeunload 和 window.onunload 在某些浏览器中不起作用:Firefox、Safari、Opera

在您的聊天应用程序中,您遇到困难使用 window.onbeforeunload 和 window.onunload 函数。虽然这些功能在 IE 和 Chrome 中运行顺利,但在 Opera 和 Firefox 中却无法运行。此外,window.onunload 在 Safari、Opera 和 Firefox 中不起作用。

造成这种不一致的原因是这些浏览器不支持您尝试使用的方法。

歌剧:

  • [Opera 中的 onbeforeunload](http://www.zachleat.com/web/dont-let-the-door-hit-you-onunload-and-onbeforeunload /)
  • 虽然不完全支持 onunload,但当用户离开具有未保存表单的页面时,它可以显示警告。

Safari:

  • [WebKit 页面缓存 II:卸载事件](https://www.webkit.org/blog/516/webkit-page-cache-ii-the-unload-event/)
  • 考虑使用 pagehide 事件而不是 onunload。

Firefox:

  • [Bug 681636 - onbeforeunload 事件并不总是在 Firefox 中触发](https://bugzilla.mozilla.org/show_bug.cgi?id=681636)
  • 目前还没有为 Firefox 提供解决方案。

因此,有必要请注意这些功能的浏览器兼容性,并探索 Firefox、Safari 和 Opera 的替代方法。

以上是为什么 `window.onbeforeunload` 和 `window.onunload` 不能在 Firefox、Safari 和 Opera 中工作?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn