我所以为的 sessionStorage 的生命周期是这样的:在 sessionStorage 中存储的数据会在当前浏览器的同一网站的多个标签页中共享,并在此网站的最后一个标签页被关闭后清除。注意:这是错误的。
不同被打开的方式:标签页 B 是通过在标签页 A 中点击链接打开的,但标签页 C 是在浏览器地址栏输入地址打开的。
data stored in sessionStorage gets cleared when the page session ends...Opening a page in a new tab or window will cause a new session to be initiated, which differs from how session cookies work(当页面会话结束时,存储在sessionStorage中的数据将被清除…在新选项卡或窗口中打开页面将导致启动新会话,这与会话cookie的工作方式不同)
通过点击链接(或者用了 window.open
)打开的新标签页之间是属于同一个 session 的,但新开一个标签页总是会初始化一个新的 session,即使网站是一样的,它们也不属于同一个 session。