【问题标题】:DOM Window unload event, is it reliable?DOM Window卸载事件,靠谱吗?
【发布时间】:2010-12-08 08:23:23
【问题描述】:

当用户关闭选项卡/窗口/浏览器时,我可以依赖触发窗口卸载事件吗?

编辑:

找到了在 IE 中触发卸载事件的列表。 http://msdn.microsoft.com/en-us/library/ms536973%28VS.85%29.aspx

我想知道在哪些边缘情况下不会触发卸载事件。

【问题讨论】:

  • 你必须给出更多的用例——你想通过卸载实现什么?除了卸载事件之外,可能还有其他方法可以实现该功能。

标签: javascript dom browser onunload


【解决方案1】:

您可能还想使用“onbeforeunload”事件,it provides more control 而不是“onunload”事件。

也就是说,请注意:当浏览器刷新页面或使用后退/前进按钮浏览页面时,Opera 不会触发 unload 事件。更糟糕的是,Opera 从不触发 onbeforeunload 事件。因此,如果您支持 Opera - 请注意这些问题。

【讨论】:

    【解决方案2】:

    并非在所有情况下都不会。浏览器可能会崩溃等,从而阻止事件触发。 用户还可以使用 Grease Monkey 等附加组件来防止事件触发。

    【讨论】:

    • 这就是我说“当用户关闭时”的原因。浏览器崩溃、断电等情况不同。
    • 那么用户仍然可以通过使用 task kill 等关闭浏览器。
    • 如果你依靠它来清理东西,你不能。
    • 很公平。我也只是在考虑用户关闭操作系统,或者进入待机或休眠状态。
    • 据我所知,休眠不会在整个系统中传播 WM_CLOSE 消息(因为它实际上并没有关闭任何东西),所以你肯定不能在 onunload 或 @ 中做出反应987654322@ 就像用户休眠其系统一样!
    猜你喜欢
    • 2019-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 2012-01-11
    • 1970-01-01
    相关资源
    最近更新 更多