【发布时间】:2022-01-06 22:16:47
【问题描述】:
我有一个localStorage 密钥(mykey),并且只想在浏览器关闭时删除此密钥。
页面刷新时不应该清除。
我有这段 Javascript 代码来清除浏览器关闭时的密钥。
window.onbeforeunload = function (event) {
if (event && event.type == "beforeunload") {
localStorage.removeItem("mykey");
}
};
此代码在浏览器关闭和页面刷新时清除 localStorage 键。
如果我评论代码,那么它工作正常。该键在页面刷新时不会被清除,而只会在浏览器关闭时被清除。
我观察到,当页面刷新时,key会被清除,然后调试器会针对window.onbeforeunload方法。
没有其他地方可以移除钥匙。
更新:我已在所有设置此键的位置将localStorage 替换为sessionStorage,但它仍然相同。
【问题讨论】:
-
没有很好的方法可以做到这一点。在这里查看许多想法:stackoverflow.com/questions/568977/…
-
对于您的情况,sessionStorage 可以工作吗?
-
您正在使用
localStorage,作为sessionStorage功能。 -
你不能创建一个会话cookie并在localStorage消失后清除它吗?
标签: javascript local-storage session-storage