当前位置: 代码迷 >> Web前端 >> 浅谈本土存储之localStorage
  详细解决方案

浅谈本土存储之localStorage

热度:73   发布时间:2012-09-17 12:06:51.0
浅谈本地存储之localStorage

localStorage作为HTML5的Web Storage的两种存储方式之一。

?

?

  • 用于持久化本地存储,除非主动删除数据,否则数据是永远不会过期的。
  • 优点:容量大,易用,原生支持
  • 缺点:兼容性问题(IE8以下的版本不支持) | 安全性也差,不适用于保存敏感的数据。

1、判断是否支持localStorage


if(window.localStorage){
   //支持
}else{
  //不支持
}

//或者下面这个
if(typeof window.localStorage == 'undefined'){
   //不支持
}
?

2、接口

  • localStorage.getItem(key) ? ? ? ? ?------------获取指定key的本地存储的值
  • localStorage.setItem(key,value) ?-----------将value存储到key字段中
  • localStorage.removeItem(key) ? ?------------删除指定key的本地存储的值

注意
  • ?localStorage存储的值都是字符串类型,如果你要存储json数据,需要转换一下。
  • ?localStorage可以存储多达5M的字符串。会存到一个sqlite的文件中。
  • ?localStorage在不同的浏览器中存在不一致的返回值等。
?? ? ? ? ? ? ? i. ?使用数字索引或者数字字符串索引在FF下赋值没问题,但是获取值方式报错
?? ? ? ? ? ? ? ? ? ? localStorage[1] = 'zhangyaochun'
?? ? ? ? ? ? ? ? ? ? localStorage['1'] = 'fe'

?? ? ? ? ? ? ? ii. 调用不存在的索引时候FF返回的是Null其他浏览器都是undefined