zoukankan      html  css  js  c++  java
  • 关于sessionStorage的移动端兼容问题

    最近在开发移动端项目时,需要用到的本地存储的地方不少。都是一些只要记住当前打开窗口的用户数据就行,所以我选择用的sessionStorage。(关闭当前窗口或标签可会被删除)

    使用场景如下:

    A.html页面需要记录一条数据{a:1,b:2};

    sessionStorage.setItem("data","{a:1,b:2}");

     

    B.html页面取出使用;

    sessionStorage.getItem("data"); // 获取结果为null

    问题:

    如果项目不是单页面复应用,AB是两个html文件,需要跳转href的。我们会发现有些Andiron系统的浏览器在B页获取是到的结果是null (如:vivo手机自带的世界之窗浏览器)。

    原因:

    经过分析,其实这并不是这个浏览器不支持sessionStorage,因为你还是能获取到sessionStorage这个对象的。

    而是因为sessionStorage是一个当前窗口的数据存储格式,有些浏览器在跳转新页面的时候他系统是打开了一个新的webView,把原来的关了,也就相当于我们在浏览器打开了一个新窗口。

    这样他就跟我们的sessionStorage原理冲突了,在新页面当然就获取不到咯。

    所以建议大家做移动端的时候如果不是单页面复应用的的项目最好不要使用sessionStorage。慎用!

     

  • 相关阅读:
    angularJS
    WebSocket通信协议
    重写ajax方法实现异步请求session过期时跳转登录页面
    npm(cnpm)介绍(安装gulp)
    grunt安装与配置
    前端学习之jquery
    前端基础之CSS
    前端基础html
    激活
    socket 网络通信(基于tcp协议)以及粘包解决方案
  • 原文地址:https://www.cnblogs.com/liubingyjui/p/12720958.html
Copyright © 2011-2022 走看看