DOM Window卸载事件,靠谱吗?
Posted
技术标签:
【中文标题】DOM Window卸载事件,靠谱吗?【英文标题】:DOM Window unload event, is it reliable? 【发布时间】:2010-12-08 08:23:23 【问题描述】:当用户关闭选项卡/窗口/浏览器时,我可以依赖触发窗口卸载事件吗?
编辑:
找到了在 IE 中触发卸载事件的列表。 http://msdn.microsoft.com/en-us/library/ms536973%28VS.85%29.aspx
我想知道在哪些边缘情况下不会触发卸载事件。
【问题讨论】:
你必须给出更多的用例——你想通过卸载实现什么?除了卸载事件之外,可能还有其他方法可以实现该功能。 【参考方案1】:您可能还想使用“onbeforeunload”事件,it provides more control 而不是“onunload”事件。
也就是说,请注意:当浏览器刷新页面或使用后退/前进按钮浏览页面时,Opera 不会触发 unload 事件。更糟糕的是,Opera 从不触发 onbeforeunload 事件。因此,如果您支持 Opera - 请注意这些问题。
【讨论】:
【参考方案2】:并非在所有情况下都不会。浏览器可能会崩溃等,从而阻止事件触发。 用户还可以使用 Grease Monkey 等附加组件来防止事件触发。
【讨论】:
这就是我说“当用户关闭时”的原因。浏览器崩溃、断电等情况不同。 那么用户仍然可以通过使用 task kill 等关闭浏览器。 如果你依靠它来清理东西,你不能。 很公平。我也只是在考虑用户关闭操作系统,或者进入待机或休眠状态。 据我所知,休眠不会在整个系统中传播 WM_CLOSE 消息(因为它实际上并没有关闭任何东西),所以你肯定不能在onunload
或 @ 中做出反应987654322@ 就像用户休眠其系统一样!以上是关于DOM Window卸载事件,靠谱吗?的主要内容,如果未能解决你的问题,请参考以下文章