最近在开发移动端项目时,须要用到的本地存储的地方很多。都是一些只要记住当前打开窗口的用户数据就行,因此我选择用的sessionStorage。使用场景以下:html
A.html页面须要记录一条数据{a:1,b:2};web
sessionStorage.setItem("data","{a:1,b:2}");
B.html页面取出使用;浏览器
sessionStorage.getItem("data"); // 获取结果为null
问题:若是项目不是单页面复应用,AB是两个html文件,须要跳转href的。咱们会发现有些Andiron系统的浏览器在B页获取是到的结果是null (如:vivo手机自带的世界之窗浏览器)。session
通过分析,其实这并非这个浏览器不支持sessionStorage,由于你仍是能获取到sessionStorage这个对象的。而是由于sessionStorage是一个当前窗口的数据存储格式,有些浏览器在跳转新页面的时候他系统是打开了一个新的webView,把原来的关了,也就至关于咱们在浏览器打开了一个新窗口。这样他就跟咱们的sessionStorage原理冲突了,在新页面固然就获取不到咯。 因此建议你们作移动端的时候若是不是单页面复应用的的项目最好不要使用sessionStorage。慎用!spa