• HTML5


    localStorage、sessionStorage用法总结:

    1、cookie、seesion与localStorage、sessionStorage的对比:

      --容量不同:cookie的存储量是有限制(4k);web存储的存储量更大,更安全,更易于使用;

      --存储的持久性不同:web存储是通过浏览器来永久存储;

          --存储方式不同:cookie是在服务器端;web存储在客户端;

    2、web存储数据的类型分两种:

          --localStorage:本地存储,没有时间限制的数据存储--(有独立的存储空间,不会数据混乱)。(持久化本地存储,除非主动删除数据,否则数据时永远不会过期的。但 如果找到浏览器的隐私或本地存储的数据删除也是一样可以删除的。)

          --sessionStorage:回话存储,针对一个回话期的数据存储,关闭窗口就没了

    3、浏览器及移动设备的支持、兼容性:

    4、localStorage、sessionStorage其它注意:

      -- 存储客户端临时信息的对象;

      -- 只能存储字符串类型的对象(虽然规范中可以存储其他原生类型的对象,但是目前为止没有浏览器对其进行实现 --  未测试);

      -- localStorage 生命周期是永久,除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在;

      -- sessionStorage 生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了;

      -- 不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。这里需要注意的是,页面及标签页仅指顶级窗口,如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionStorage的。

      -- 读取存储数据的时候,返回的是字符串,无论之前存的是什么,最后读取的都是字符串,所以读取的时候需要进行类型转换。

    5、判断设备是否支持本地存储

    if(window.localStorage){
      alert('支持');
    }else{
      alert('不支持');
    }

    6、localStorage本身自带一些属性、方法:(sessionStorage与其属性、方法相同)

    window.localStorage.length;              // 返回目前已存储的变量数目
    window.localStorage.key(n); // 获取第n个变量的键值(key)
    window.localStorage.setItem(key, val); // 设置键值(key)的变量值(新增一个存储变量),(window.localStorage.key = val;)
    window.localStorage.getItem(key); // 获取键值为key的变量的值(存储数据),(window.localStorage.key)
    window.localStorage.removeItem(key); // 删除键值为key的存储变量
    window.localStorage.clear(); // 清除所有的存储变量

    7、兼容解决方法(ie8-):UserData

    解决方案:

     

    参考博文:

    localStorage兼容方案实现  http://www.cnblogs.com/zjcn/archive/2012/07/03/2575026.html

    HTML5 LocalStorage 本地存储  http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html

    js本地存储解决方案(localStorage与userData)  http://www.cnblogs.com/beiyuu/archive/2011/07/20/js-localstorage-userdata.html

     本地存储—localStorage(HTML5)  http://my.oschina.net/jgy/blog/99631

  • 相关阅读:
    微信小程序购物商城系统开发系列-工具篇
    如何用js获取浏览器URL中查询字符串的参数
    Vue.js——vue-resource全攻略
    多个 ng-app 中 Controllers & Services 之间的通信
    前端分页功能的实现以及原理
    纯css实现轮播图
    最好的Angular2表格控件
    2017年要学习的三个CSS新特性
    Kafka数据安全性、运行原理、存储
    Hbase与hive集成与对比
  • 原文地址:https://www.cnblogs.com/libinblog/p/4239313.html
Copyright © 2020-2023  润新知