5

我发现大多数答案window.onbeforeunload都用于处理浏览器关闭。但它在刷新浏览器时也会起作用。我只想在浏览器关闭而不刷新时删除我的 localStorage。

4

3 回答 3

20

您可以使用sessionStorage对象而不是localStorage.

sessionStorage关闭浏览器时会自动清除。

它的工作方式与 localStorage 几乎相同:

sessionStorage.setItem("Test", "Test");

var item = sessionStorage.getItem("Test");
于 2013-09-05T10:24:21.363 回答
3

我认为您正在寻找的是sessionStorage而不是localStorage

于 2013-09-05T10:24:23.803 回答
3

如果您要存储一些仅用于该特定会话的数据,比如用户登录,那么您需要使用 sessionStorage 但如果您的要求是允许用户打开多个选项卡,那么 SessionStorage 将不起作用,因为 sessionStorage不跨选项卡共享,为此您需要使用 localStorage。

请务必记下打开和关闭的选项卡数量,并在关闭最后一个选项卡时清除 localStorage。

于 2015-10-27T05:24:58.420 回答