V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
csh1617487191

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

  •  
  •   csh1617487191 · Mar 27, 2024 · 3098 views
    This topic created in 761 days ago, the information mentioned may be changed or developed.

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

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

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

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

    8 replies    2024-03-27 14:00:01 +08:00
    trytodoyourbest
        1
    trytodoyourbest  
       Mar 27, 2024
    之前遇到鼠标打开新标签页 sessionStorage 不会有,但是 window.open()打开新的标签会被继承
    Aruok
        2
    Aruok  
       Mar 27, 2024
    因为有的浏览器具有 "恢复关闭的标签" 功能,可能会使得 sessionStorage 的数据在标签被关闭后仍然可以恢复.
    gucheen
        3
    gucheen  
       Mar 27, 2024
    你不是会是浏览器的恢复标签页这个功能重新打开的页面吧?这是 feature
    类似的恢复标签页的功能也会同时恢复 sessionStorage
    具体原因自行查阅相关浏览器的开发文档
    csh1617487191
        4
    csh1617487191  
    OP
       Mar 27, 2024
    并没有用浏览器的快捷键恢复关闭的标签页,只是手动关闭当前标签页,再把复制的 url 重新打开,sessionStorage 数据依然保留,https://zh.javascript.info/localstorage 文档有实例可供测试
    gucheen
        5
    gucheen  
       Mar 27, 2024   ❤️ 1
    没有这个问题,建议你把你用的什么浏览器,怎么操作的,录屏一下,没准你就找到了浏览器的 bug ,可以去提 issue 了
    EJW
        6
    EJW  
       Mar 27, 2024   ❤️ 1
    @csh1617487191 4
    我没有复现你这个问题
    csh1617487191
        7
    csh1617487191  
    OP
       Mar 27, 2024
    不好意思 耽误大家时间了,是我的操作问题,复制了当前的标签页,然后再关闭之前的浏览器标签才会出现这个问题
    thinkershare
        8
    thinkershare  
       Mar 27, 2024
    在新标签或窗口打开一个页面时会复制顶级浏览会话的上下文作为新会话的上下文,这点和 session cookie 的运行方式不同
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4715 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 10:06 · PVG 18:06 · LAX 03:06 · JFK 06:06
    ♥ Do have faith in what you're doing.