【问题标题】:onunload not working in combination with onbeforeunload in Safarionunload 不能与 Safari 中的 onbeforeunload 结合使用
【发布时间】:2016-02-24 09:30:57
【问题描述】:

我想确保用户在某些情况下(例如未保存的数据)关闭窗口时收到警告。效果很好。

但是:我还需要在窗口关闭之前做一些清理工作,但在我询问用户是否真的想关闭它之后。

所以我有两个回调函数,一个用于 onbeforeunload,它会抛出确认对话框,另一个用于 onunload,它应该进行清理。

不幸的是,在 Safari 中,onunload 回调似乎没有被调用。

为什么?

$(window).on('beforeunload',function() {
    if (connected)
        return "Are you sure you want to close the window!";
});

$(window).on('unload',function() {
    localStorage.removeItem("someItem"); // never executed in Safari
});

【问题讨论】:

    标签: javascript safari onbeforeunload onunload


    【解决方案1】:

    很遗憾,某些浏览器不支持此事件。您可以尝试使用pagehide 事件而不是 onunload。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多