我正在使用SessionStorage存储前端应用程序所需的私有上下文信息。我注意到,有时导航到另一个网站(不同的域,应用程序流程的一部分)并再次返回时,会话存储并不是我离开的方式。有时什么都没有,有时仍然保留一些属性。
我已经看到这种情况发生在Windows上的Chrome隐身模式和Safari私有浏览模式下。对于Safari,我可以检测到私人浏览并依靠会话cookie,但是这些cookie将毫无意义地通过网络传递,因此我不想将此作为我的主要解决方案。另外,我只能在Safari中检测到它,而不能在Chrome中检测到。
我找不到任何文章表明这是预期的行为。它并不总是发生的事实使调试变得更加有趣。
有没有办法可靠地使用SesionStorage?还是有建议的替代方法以安全的方式存储此敏感信息?
答案 0 :(得分:0)
没有SessionStorage绑定到浏览上下文的生命周期。浏览器之间的上下文不同。 来自spec:
浏览上下文的生存期可能与实际用户代理进程本身的生存期无关,因为用户代理可以在重启后支持恢复会话。
如果您想要更持久的解决方案,可以使用LocalStorage。
答案 1 :(得分:0)
使用LocalStorage代替Session Storage 但是,当您不需要进一步存储数据时,请不要忘记清除本地存储 有关更多信息,check out