请教各位大佬, sessionStorage 的规则到底是什么? 关闭标签页再打开,数据依然被保留

2024-03-27 11:08:28 +08:00
 csh1617487191

https://zh.javascript.info/localstorage 文档上写着一条规则:

sessionStorage 数据在页面刷新后仍然保留,但在关闭/重新打开浏览器标签页后不会被保留。

我测试的结果是:关闭窗口数据确实会自动清空,但是关闭浏览器标签并不会

https://zh.javascript.info/localstorage 文档有实例可供测试

2533 次点击
所在节点    JavaScript
8 条回复
trytodoyourbest
2024-03-27 11:20:17 +08:00
之前遇到鼠标打开新标签页 sessionStorage 不会有,但是 window.open()打开新的标签会被继承
Aruok
2024-03-27 11:25:18 +08:00
因为有的浏览器具有 "恢复关闭的标签" 功能,可能会使得 sessionStorage 的数据在标签被关闭后仍然可以恢复.
gucheen
2024-03-27 11:27:22 +08:00
你不是会是浏览器的恢复标签页这个功能重新打开的页面吧?这是 feature
类似的恢复标签页的功能也会同时恢复 sessionStorage
具体原因自行查阅相关浏览器的开发文档
csh1617487191
2024-03-27 11:32:27 +08:00
并没有用浏览器的快捷键恢复关闭的标签页,只是手动关闭当前标签页,再把复制的 url 重新打开,sessionStorage 数据依然保留,https://zh.javascript.info/localstorage 文档有实例可供测试
gucheen
2024-03-27 11:34:17 +08:00
没有这个问题,建议你把你用的什么浏览器,怎么操作的,录屏一下,没准你就找到了浏览器的 bug ,可以去提 issue 了
EJW
2024-03-27 11:57:19 +08:00
@csh1617487191 4
我没有复现你这个问题
csh1617487191
2024-03-27 13:57:06 +08:00
不好意思 耽误大家时间了,是我的操作问题,复制了当前的标签页,然后再关闭之前的浏览器标签才会出现这个问题
thinkershare
2024-03-27 14:00:01 +08:00
在新标签或窗口打开一个页面时会复制顶级浏览会话的上下文作为新会话的上下文,这点和 session cookie 的运行方式不同

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1027382

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX