localStorage.setItem('test1','test1');设置键名为test1 值为test1的一组key-value。
localStorage.getItem('test1''); 获取键名为test1的value值。
localStorage.key(0); 以百度为例。取键值的第一个数据
localStorage.key(1); 取键值的第二个数据;
H5本地存储注意事项:
1:使用前要判断浏览器是否支出;(注意:通常会使用window.localStorage判断但是不是完全正确,建议先set然后用try catch一下进行异常捕获,若捕获到异常则浏览器不支持)。
2:写数据时,需要异常处理,避免超出容量抛错;
3:避免把敏感的信息存入localStorage
4:localStorage key的唯一性
使用限制
1:存储更新策略,过期控制
2:localStorage 各个子域名之间是不能共享数据的。
3:超出存储大小后如何存储(LRU,FIFO算法)可以业务处理。 try catch一下。
4:server端如何取到;
使用场景:
1:利用本地数据,减少网络传输。
2:弱网络环境下,高延迟,低带宽,尽量把数据本地化。
此外:使用中务必判断浏览器是否支持本地存储; 没有过期时间需要自己做数据清理的业务。 做不到子域名cookie的共享;想做做到需要做跨域操作,post message
另外补充;
HTML5中提供了localStorage对象可以将数据长期保存在客户端,直到人为清除。
localStorage提供了几个方法:
1、存储:localStorage.setItem(key,value)
如果key存在时,更新value
2、获取:localStorage.getItem(key)
如果key不存在返回null
3、删除:localStorage.removeItem(key)
一旦删除,key对应的数据将会全部删除
4、全部清除:localStorage.clear()
某些时候使用removeItem逐个删除太麻烦,可以使用clear,执行的后果是会清除所有localStorage对象保存的数据
5、遍历localStorage存储的key
.length 数据总量,例:localStorage.length
.key(index) 获取key,例:var key=localStorage.key(index);
6、存储JSON格式数据
JSON.stringify(data)
将一个对象转换成JSON格式的数据串,返回转换后的串
JSON.parse(data) 将数据解析成对象,返回解析后的对象
备注:localStorage存数的数据是不能跨浏览器共用的,一个浏览器只能读取各自浏览器的数据,储存空间5M。