我找到了大多数使用window.onbeforeunload
处理浏览器关闭的答案。但它在刷新浏览器时也会采取行动。我只是想在浏览器关闭时不删除我的localStorage。
答案 0 :(得分:17)
您可以使用sessionStorage
对象代替localStorage
。
sessionStorage
会自动清除。
它的工作方式与localStorage几乎相同:
sessionStorage.setItem("Test", "Test");
var item = sessionStorage.getItem("Test");
答案 1 :(得分:3)
我认为您要找的是sessionStorage而不是localStorage
答案 2 :(得分:3)
如果您希望存储一些仅用于该特定会话的数据,请说用户登录然后您需要使用sessionStorage,但如果您要求允许用户打开多个选项卡,那么SessionStorage将不会因为sessionStorage不在标签之间共享,所以你需要使用localStorage。
确保打开和关闭标签页数,并在最后一个标签页关闭时清除localStorage。