…
1.localStorage和sessionStorage均只能存储字符串类型的对象
2.localStorage生命周期是永久
3.sessionStorage生命周期为当前窗口或标签页,关闭了,数据就没了
4.不同浏览器无法共享localStorage或sessionStorage中的信息。
5.相同浏览器的不同页面间可以共享相同的localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。这里需要注意的是,页面及标签页仅指顶级窗口,如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionStorage的。 同源的判断规则: http://www.test.com https://www.test.com (不同源,因为协议不同) http://my.test.com(不同源,因为主机名不同) http://www.test.com:8080(不同源,因为端口不同)
数据存储
1 | var arrDisplay = [0, 1, 1, 1]; |
###数据读取
1 | var strStoreDate = window.localStorage? localStorage.getItem("menuTitle"): Cookie.read("menuTitle"); |
需要注意的是:虽然我们存储的是数组,但是,实际上存储的的是数组字符化后的字符串(Cookie和localStorage都是),因此,我们在处理strStoreDate的时候,一定要当作字符串处理,类似下面:
1 | strStoreDate.split(",").each(function(display, index) { |
在HTML5中,本地存储是一个window的属性,判断浏览器是否支持:
1 | if(window.localStorage){ |
存储数据的方法就是直接给window.localStorage添加一个属性
例如:window.localStorage.a 或者 window.localStorage[“a”]。
它的读取、写、删除操作方法很简单,是以键值对的方式存在的,如下:
1 | localStorage.a = 3;//设置a为"3" |
推荐使用的自然是getItem()和setItem(),清除键值对使用removeItem()。
如果希望一次性清除所有的键值对,可以使用clear()。另外,HTML5还提供了一个key()方法,可以在不知道有哪些键值的时候使用,如下:
1 | var storage = window.localStorage; |