Web Storage中定义了2个对象:sessionStorage
和localStorage
。这两种API提供了在 浏览器中不受浏览器页面刷新影响而存储数据的方式。
Storage类型
Storage类型用于保存名/值对数据,直至存储空间上限(由浏览器决定)。Storage实例有以下方法:
clear()
:删除所有值getItem(name)
:取得给定name的值key(index)
:取得给定数值位置的名称removeItem(name)
:删除给定name的名/值对setItem(name, value)
:设置给定name的值
通过length属性可以确定Storage对象中保存了多少名/值对。
sessionStorage对象
sessionStorage是Storage的实例。sessionStorage对象只会存储会话数据,意味着只要浏览器一关闭,数据就没了。存储在sessionStorage中的数据不受页面刷新影响,可以在浏览器崩溃并重启后恢复。
sessionStorage对象与服务器会话紧密相关,所以在运行本地文件时不能使用。存储在sessionStorage对象中的数据只能由最初存储数据的页面使用,在多页应用程序中的用处有限。
通过setItem()和getItem()方法可以设置sessionStorage的名/值对。
localStorage对象
localStorage对象是客户端持久存储数据的机制。要访问同一个localStorage对象,页面必须来自同一个域(子域不行)、在相同的端口上使用相同的协议。同样可以通过setItem()和getItem()方法给localStorage设置名/值对。
区别
两种存储机制的区别在于:存储在localStorage中的数据会保留到通过JavaScript删除或者用户清除浏览器缓存。localStorage数据不受页面刷新影响,也不会因关闭窗口,标签页或重新启动浏览器而丢失。