【发布时间】: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