本地存储
本地存储: 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,后面的会覆盖前面的)。



2、各个子域名之间不能共享存储数据(可以借助html5的postmessage做跨域处理),cookie可以
浙公网安备 33010602011771号