本地存储

本地存储: localstorage && sessionstorage

一、

1.过期:    localstorage: 用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

                sessionstorage : 关闭浏览器或者重新打开,都会过期的。

2.浏览器支持:   ie8以上都支持。

3.内存 

  key ---->value

4. API    setItem存储 key和value     localstorage.setItem(" key", "value")

     getItem 获取value     localstorage.getItem( "key");

     removeItem 删除key   localStorage.removeItem("key");

       clear清除所有的key/value        localStorage.clear();

二、本地存储都可以存些什么东西呢?

1. 数组     --->序列化字符串的,再存储到localstorage里
2. json数据   --->序列化字符串的,再存储到localstorage里

3. 图片 (base64, 可以用canvas输出)

4. 脚本    ---->通过ajax请求后把responseText文件存储到localstorage里

5. 样式文件
---->通过ajax请求后把responseText文件存储到localstorage里

三、localstorage使用限制:
1、localstorage是永不过期的,需要业务自己存储更新策略,过期控制
   2、各个子域名之间不能共享存储数据(可以借助html5的postmessage做跨域处理),cookie可以
3、超出存储大小是可以借助LRU,FIFO算法淘汰旧的
4、server端要想取到,需要跟在post请求或者get请求后面,以达到访问目的 (localstorage只支持客户端)。

四、
本地存储注意事项:
1. 使用前要判断浏览器是否支持 (浏览器开启无痕模式后不能用, 有的可读但不可写,所以不能用 if(window.localStorage){}来做兼容处理 先set,然后再捕获异常)
2. 写数据的时候需要用异常处理,避免超出容量报错
3. 敏感信息不要存
4. 注意key的唯一性, 会被覆盖 (一个key对应一个value,一个key对应两个value,后面的会覆盖前面的)。
 


 

posted @ 2016-12-11 14:59  yukiiwu  阅读(183)  评论(0)    收藏  举报