【发布时间】:2021-05-05 10:32:30
【问题描述】:
我有一个带有 target="_blank 属性的锚标记,它在新选项卡上打开一个 HTML 页面,并且该新 HTML 页面链接到具有以下代码的 JS 文件:
if (sessionStorage.getItem("washerebefore") === "yes") {
location.href = "url of my main page";
}
sessionStorage.setItem("washerebefore", "yes");
这个想法显然是如果你点击链接,打开新的 HTML 页面,在那里刷新,重定向回主页,它工作正常.. 但只要新的 HTML 页面在新选项卡上打开。如果我删除target="_blank 并在同一个选项卡上打开页面,它只会在第一次工作,因为第二次单击我会立即重定向回来,这意味着 sessionStorage 不会被清除。为什么?
我在某处读到只有在您关闭浏览器时才会清除 sessionStorage,但如果是这种情况,那么为什么当我在新标签页上打开链接时它会被清除?
更新
我尝试改用 localStorage,但尽管明确删除了 localStorage,它仍然保留。
if (localStorage.getItem("washerebefore") === "yes") {
localStorage.removeItem("washerebefore")
location.href = "url of my main page";
}
localStorage.setItem("washerebefore", "yes");
为什么刷新时没有删除localStorage?
【问题讨论】:
标签: javascript