关于sessionStorage 的详细理解以及在移动端出现的bug

4 篇文章 0 订阅
1 篇文章 0 订阅

bug出现场景:

      项目中利用sessionStorage 在本地存储一些数据,然后跳转页面时利用 location.href='aa.html' 来跳转页面,跳到 aa 页面时,再获取sessionStorage 里面的数据。

      以上操作在浏览器端都没有问题,但是在用hbuilder 打包成 移动端 app 之后,跳转页面之后就会丢失sessionStorage 里面的数据,获取到的为null。

bug出现的原因为:

       在移动端使用sessionStorage 时,由于sessionStorage 是基于会话的,而在移动端的某些浏览器上,切换页面时是系统打开了一个新的webview ,关闭旧的webView ,相当于打开了新窗口,所以sessionStorage 的数据会丢失。

 

引申 sessionStorage 的详细理解,

      之前对于sessionStorage 的理解就是可以在同一个浏览器窗口里面存储数据。

      加深理解:  基于会话的存储

      如果在a页面通过新标签打开b页面,那么在b页面也可以获取到a页面的sessionStorage 。sessionStorage 可以共享(在相同协议,域名,端口);

      如果b页面不是通过a页面打开的,而是手动打开,那么就算是相同协议,域名,端口 ,sessionStorage也不可以共享

      以上的应用情景:

      同一个项目在同一个浏览器可以打开多个标签,进行多个人登陆操作。后面的不回覆盖前面的登陆信息。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值