好的,请耐心等待,我会尽可能详细地解释这个问题。
我有 3 个 HTML(和适当的 .js)文件。我可以向 sessionStorage 添加内容,当我位于任一 HTML 文件中时,我会显示 sessionStorage 的内容。我在最新版本的 firefox 上本地运行文件,据我所知,它支持 file:// 中的 sessionStorage 所以,一切都很好,我可以在 HTML1 中向 sessionStorage 添加东西并转到 HTML2 和数据是正确显示。我得到了 sessionStorage 的概念,一切都很好。
但这就是奇怪的地方:当我在 HTML1 中向 sessionStorage 添加内容并通过 a-href 转到 HTML2 时,sessionStorage 的内容就在那里。但是,如果我在 url 栏中单击并按 enter,则内容将丢失。会话存储为“空”。我回到 HTML1 并按 ctrl+r(重新加载),仍然为空。但是当我在 url 栏中单击并按 Enter 时(当我在 HTML1 页面中时), sessionStorage 内容会返回。
我已经进行了几次检查,似乎当我在 url 栏中单击并按 Enter 时,会创建另一个 sessionStorage 实例。
但是,如果我将项目上传到某个服务器上,则不会发生这种情况。我想知道为什么 - 如果 Firefox 支持 sessionStorage - 当我在本地运行应用程序时会发生这种情况,那里到底发生了什么?感谢您的任何解释。