我想确保用户在某些情况下关闭窗口时会收到警告(例如,未保存的数据)。效果很好。
但是:我还需要在窗口关闭之前做一些清理工作,但在我询问用户是否真的要关闭它之后。
所以我有两个回调函数,一个用于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
});
答案 0 :(得分:0)
不幸的是,某些浏览器不支持此事件。您可以尝试使用pagehide
事件而不是onunload。
祝你好运!