概述
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也不可以共享。
以上的应用情景:
同一个项目在同一个浏览器可以打开多个标签,进行多个人登陆操作。后面的不回覆盖前面的登陆信息。
最后
以上就是内向帅哥为你收集整理的关于sessionStorage 的详细理解以及在移动端出现的bug的全部内容,希望文章能够帮你解决关于sessionStorage 的详细理解以及在移动端出现的bug所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复