今天做项目用到了localstorage,简单的总结一下用法
1.作用域:
(1)HTML5规范支持了WebStorage,而WebStorage包括 LocalStorage 和SessionStorage。从名字可以看出来,sessionStorage的作用范围是一次会话,会话结束后SessionStorage也随之消失了,LocalStorage一直保存在那里。
(2)网上的文章有点误导人,在讲webStorage和cookie的区别时说cookie是有domain限制的,其实WebStorage也是有Domain限制的,比如你在www.baidu.com下种下得WebStorage,在www.dianping.com下当然是不能用得。
2.WebStorage大小
关于WebStorage的大小问题,html5官方的标准建议是5M,各种浏览器厂商很诡异的都默认设置成5M,虽然有的浏览器厂商允许自定义,但coding的时候还是按照最大5M来吧。
3.常用方法
(1) window.localStorage.setItem("name","zj")
webStorage里都是存储key value pair的,而key 和value都是 字符串类型
(2)window.localStorage.getItem("name")
和java的map一样,get就好了
(3)window.localStorage.removeItem("name")
清楚一个Item,建议用removeItem;要是想清除全部的key,还有一个clear()方法
(4)window.localStorage.key(index)
这个可以拿出当前WebStorage的key有些什么
(5)webStorage还提供了StorageEvent这个事件,可以在Storage变化时进行监听,看别人的文章说这个浏览器支持的不好,只有ipad上支持的还行,原文链接:http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html
4.webStorage的原理
至于在浏览器中是如何实现localStorage和SessionStorage,每个浏览器都不一样吧,在stackOverflow上问了问,比如chrome可以拉个source看一看,等以后有时间再说吧~~