嗨,我使用 localStorage 来存储变量的值。问题是 localStorage 永远不会从我在互联网上找到的内容重置。我有兴趣在浏览器关闭时重置 localStorage。
有没有办法做到这一点?
我曾尝试使用 jQuery 中的 $(window).unload ,但它检测到与窗口相关的更改并将 localStorage 变量重置为很快。
嗨,我使用 localStorage 来存储变量的值。问题是 localStorage 永远不会从我在互联网上找到的内容重置。我有兴趣在浏览器关闭时重置 localStorage。
有没有办法做到这一点?
我曾尝试使用 jQuery 中的 $(window).unload ,但它检测到与窗口相关的更改并将 localStorage 变量重置为很快。
阅读我的答案,其中我解释了如何检测浏览器关闭,$(window).unload 并不总是有效。
<script>
window.onbeforeunload = function (e) {
if (localStorage) {
localStorage.clear();
}
};
</script>
但是,是的,我建议使用Cookie或会话变量,它们会在浏览器关闭时被销毁,而不是 localStorage。
您可能想改用window.sessionStorage。
会话存储
这是一个全局对象 (sessionStorage),它维护一个在页面会话期间可用的存储区域。只要浏览器打开并在页面重新加载和恢复后仍然存在,页面会话就会持续。在新选项卡或窗口中打开页面将导致启动新会话。