a标签打开新页面sessionStorage丢失

解决sessionStorage丢失及共享问题
市场反馈用户登录后点击链接提示重新登录,检查发现是sessionStorage丢失。介绍了sessionStorage作用范围,指出谷歌、火狐等浏览器对其设置变化。给出解决方法,如在a标签添加rel=“opener”,也可使用js的window.open()或更换存储方式。

最近突然市场反馈用户登录后点击链接提示重新登录,检查后发现是sessionStorage丢失,原代码是这样的:

<a target="_blank" href="www.XXXXX.com" ></a>

首先先说一下seeionStorage:
sessionStorage作用范围:只存在于当前会话页面,当会话结束后,数据也随之销毁,在不同的浏览器窗口中共享。也就是存在于当前浏览器页面,页面关闭,数据也会删除。(注意:通过鼠标右键打开的新标签无法共享sessionStorage)

经过各种查资料发现:谷歌、火狐等浏览器在之前是 当浏览器窗口没有关闭时,窗口内同域网站可以共享此数据(同源浏览器多个窗口不共享),当页面全部关闭或窗口关闭后,sessionStorage数据会被摧毁,所以你用a标签跳转还是js跳转都会共享sessionStorage。
但是现在他们把sessionStorage设置为正经的单页面使用。
说正经的到底怎么改才能还跟以前一样,同一个窗口公用sessionStorage呢其实很简单:

**只需要将a标签中添加 rel=“opener” **就能解决

**只需要将a标签中添加 rel=“opener” **就能解决

**只需要将a标签中添加 rel=“opener” **就能解决

<a target="_blank" href="www.XXXXX.com" rel="opener"></a>

这样就好了

还可以使用js
window.open()

或者干脆就换存贮方式

好了就介绍这么多

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值