早期的的存储通常使用cookie存储在用户的客户端,并随浏览器的请求一起发送到服务器的,它有一定的过期时间,过期后自动消失,也制约其发展的因素。
1.HTML5的Web存储功能是让网页在用户计算机上保存一些信息。Web存储又分为两种:
(1)本地存储,对应 localStorage 对象。用于长期保存网站的数据,并且站内任何页面都可以访问该数据。
(2)会话存储,对应 sessionStorage 对象。用于临时保存针对一个窗口(或标签页)的数据。在访客关闭窗口或者标签页之前,这些数据是存在的,而关闭之后就会被浏览器删除。
2.本地存储与会话存储的异同
(1)本地存储和会话存储的操作代码完全相同,它们的区别仅在于数据的寿命。
(2)本地存储主要用来保存访客将来还能看到的数据。
(3)会话存储则用于保存那些需要从一个页面传递给下一个页面的数据。
两个存储对象除了存储时间不同,用法类似,均拥有如下方法:
setItem(key,value) 设置存储内容
getItem(key) 获取
removeItem(key) 删除指定的存储内容
clear() 清除(清空)
key(index) 通过索引获取 key
一旦键名设置成功,则不允许修改,也不能重复,若重复,会覆盖原有的键名值。
注意:key和value需为字符串类型
ps:尽管使用localStorage对象可以将数据长期保存在客户端,当在跨浏览器读取数据时,被保存的数据不可公用,即每一个浏览器只能读取各自浏览器中保存的数据,不能访问其他浏览器中保存的数据。
3. 使用JSON对象存储数据
上面那种方式存储数据只能应对少量数据,为了解决这一问题,在html5中可以通过localStorage与JSON对象的转换,快速实现存储更多数据的功能。
如果将localStorage数据转成json对象,需调用json对象的parse()方法:
JSON.parse(data);
参数data表示localStorage对象获取的数据,该方法将返回一个装载data数据的json对象。还可通过stringify(),将一个实体对象转换成json格式的文本数据:
JSON.stringify(obj)
obj表示一个任意的实体对象,调用该方法将返回一个由实体对象转成JSON格式的文本数据集。