gpt4 book ai didi

javascript - 奇怪的 session 存储行为

转载 作者:行者123 更新时间:2023-11-30 10:36:14 27 4
gpt4 key购买 nike

好的,请耐心等待,我会尽可能详细地解释这个问题。

我有 3 个 HTML(和适当的 .js)文件。我可以向 sessionStorage 添加内容,并且当我位于任一 HTML 文件中时显示 sessionStorage 的内容。我在最新版本的 firefox 上本地运行文件,据我所知,它支持 file://中的 sessionStorage所以,一切都很好,我可以在 HTML1 中向 sessionStorage 添加内容,然后转到 HTML2 并正确显示数据。我了解了 sessionStorage 的概念,一切都很好。

但这就是它变得奇怪的地方:当我在 HTML1 中向 sessionStorage 添加内容并通过 a-href 转到 HTML2 时,sessionStorage 的内容就在那里。但是如果我点击 url 栏并按回车键,内容就会丢失。 SessionStorage 为“空”。我回到 HTML1 并按 ctrl+r(重新加载),但仍然是 null。但是,当我在 url 栏中单击并按回车键时(当我在 HTML1 页面中时),sessionStorage 内容返回。

我已经做了几次检查,当我点击 url 栏并按下 enter 时,似乎会创建另一个 sessionStorage 实例。

但是,如果我将项目上传到某个服务器上,则不会发生这种情况。我想知道为什么 - 如果 firefox 支持 sessionStorage - 当我在本地运行应用程序时会发生这种情况,那里到底发生了什么?感谢您的任何解释。

最佳答案

好的,它在本地不起作用,因为您正在打开文件,您需要在服务器上运行它。

浏览器将使用 URL(当然还有其他内部内容)将 session 连接在一起,这就是为什么它可以在您上传到的任何服务器上运行的原因。这不适用于文件 URL,因为浏览器将它们视为来自不同位置的不同页面,因此不会共享 session 。

如果您在本地设置 WAMP 或其他东西并通过它运行它,它将起作用。这正是 xavierm02 所建议的。

关于javascript - 奇怪的 session 存储行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13893930/

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