localStorage、sessionStorage同一网站下共享问题

sessionStorage

以下的讨论是以同源为前提。(同源和同站是有区别的,同源要求更为严格)
不是所有的sessionStorage都能共享。
1. 第一种情况

浏览器中打开A页面,再通过A页面打开新的标签页B页面,此时A、B两个页面的sessionStorage是“共享”的。这里的共享指的是B页面会把A页面的的 sessionStorage 拷贝一份,作为B页面 的初始缓存值,此时改变B页面的session,A页面并不受影响。即不同 Tab 之间,session读写操作独立,互不影响。

// 之前通过两种方式打开新标签页都可以共享session
window.open(‘xxx’)
<a href="xxx" target="_blank"> </a>
//但是现在浏览器把sessionStorage设置为正经的单页面使用,需要在a标签中添加 rel=“opener”,才能实现共享,或者直接用js打开页面window.open()
<a href="xxx" target="_blank" rel="opener"> </a>

2. 第二种情况
浏览器中打开A页面,然后手动新开一个标签页,在新的标签页中打开B页面,此时A、B两个页面的sessionStorage是不“共享”,即B页面不会继承A页面session作为初始值。
新开一个标签页总是会初始化一个session,即使是同一个网站。

localStorage

同源状态下,不同标签页之间均可读写,相互影响

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值