Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 会话存储有时在导航离开和返回后丢失_Javascript_Session Storage - Fatal编程技术网

Javascript 会话存储有时在导航离开和返回后丢失

Javascript 会话存储有时在导航离开和返回后丢失,javascript,session-storage,Javascript,Session Storage,我正在使用SessionStorage存储前端应用程序所需的私有上下文信息。我注意到,有时当导航到不同的网站(不同的域,应用程序流的一部分)并再次返回时,会话存储不是我离开它的方式。有时什么都没有,有时还有一些财产 我在Windows上的Chrome incognito和Safari私人浏览模式上看到过这种情况。对于Safari,我可以检测私人浏览并依赖会话cookie,但是这些cookie将通过网络毫无意义地传递,因此我不想将其作为我的主要解决方案。此外,我只能在Safari中检测到它,而不能

我正在使用SessionStorage存储前端应用程序所需的私有上下文信息。我注意到,有时当导航到不同的网站(不同的域,应用程序流的一部分)并再次返回时,会话存储不是我离开它的方式。有时什么都没有,有时还有一些财产

我在Windows上的Chrome incognito和Safari私人浏览模式上看到过这种情况。对于Safari,我可以检测私人浏览并依赖会话cookie,但是这些cookie将通过网络毫无意义地传递,因此我不想将其作为我的主要解决方案。此外,我只能在Safari中检测到它,而不能在Chrome中检测到它

我找不到任何文章说明这是预期的行为。事实上,它并不总是发生,这使得调试更加有趣


是否有可靠使用SesionStorage的方法?或者是否有任何建议的替代方案可以安全地存储这些敏感信息?

没有会话存储绑定到浏览上下文的生存期。浏览器之间的上下文不同。 从:

浏览上下文的生存期可能与实际用户代理进程本身的生存期无关,因为用户代理可以支持在重新启动后恢复会话


如果您想要更持久的解决方案,您可以使用。

使用本地存储,而不是使用会话存储 但是,当不需要进一步存储数据时,不要忘记清除本地存储
有关详细信息

LocalStorage在选项卡之间“泄漏”,并且也未绑定到用户会话,这意味着关闭选项卡不会清除存储,这对私人信息不利