关闭浏览器时的js警告消息

时间:2018-01-27 06:50:36

标签: javascript html

关闭浏览器(Chrome,Firefox,IE,Safari ...)时需要清除localstorage项目。

我尝试了以下代码,但它仅适用于页面刷新时间而非浏览器关闭时。

类型1:

$(window).unload(function(){
  localStorage.removeItem(key);
});

类型2:

window.onbeforeunload = function (e) {
  message = "Are you sure you want leave?";
  e.returnValue = message;
  return message;
};

但两者都在处理页面刷新操作。

1 个答案:

答案 0 :(得分:2)

编辑: 您已经说过在浏览器关闭之前需要清除本地存储。这就是会话存储的用途。它的行为相同,但会在会话结束时清除。使用会话存储。

在窗口关闭所有浏览器之前,没有一致的方法来运行函数。这部分是一种安全措施,好像,例如,恶意网站想要阻止浏览器窗口关闭,他们可能会利用这种行为来做到这一点。

beforeunload是最兼容的钩子,但不应该依赖于关键逻辑。浏览器窗口可以在浏览器的控制之外关闭,例如,如果计算机关闭。如果您需要运行一个函数来保留信息,最好在信息发生变化时动态地执行此操作,无论是使用AJAX将数据存储在服务器上,还是使用本地存储。