gpt4 book ai didi

javascript - 当您在新选项卡上打开链接时,sessionStorage 会被清除,但在同一选项卡上打开链接时会保留。为什么?

转载 作者:行者123 更新时间:2023-12-05 06:00:58 24 4
gpt4 key购买 nike

我有一个带有 target="_blank 属性的 anchor 标记,它在新选项卡上打开 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 在刷新时没有被删除?

最佳答案

当您开始新 session 时,保存在 sessionStorage 中的所有内容都会被删除。浏览器关闭时 session 结束。重新加载页面时 session 仍然存在。打开新选项卡时会创建一个新 session ,这就是出现此错误的原因。

关于javascript - 当您在新选项卡上打开链接时,sessionStorage 会被清除,但在同一选项卡上打开链接时会保留。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67399600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com