Web Storage是HTML5 API提供一个新的重要的特性;javascript
最新的Web Storage草案中提到,在web客户端可用html5 API,以Key-Value形式来进行数据持久存储;html
目前主要的浏览器已经支持该功能:html5
常见的web客户端数据存储比较:java
Html5 Web Storage很是易于Web开发者使用,他提供了很是简单的获取或设置key-value对的API; web
支持的数据大小由网页浏览器厂商来决定,大多数支持都是5M或10M以上;浏览器
这就意味着,咱们能够在客户端存储更多有关用户及会话的信息,诸如用户我的设置、本地化数据、离线数据等; session
Web Storage存储的数据可能用javascript来进行访问;加密
Web Storage对象主要分为两种类型:sessionStorage and localStorage;设计
sessionStorage:是针对用户执行单个事务的方案而设计的,仅在单个页面(标签或者窗口)会话范围内是有效的。因此当页面session失效时,数据也会删除;htm
localStorage:是跨多个窗口,且持续范围可超过当前会话;意味着当浏览器关闭再从新打开,数据依然是可用的;
这两种类型的对象,在不一样的浏览器之间访问数据是无效的;例如,咱们在Firefox中建立localStorage,要在IE中去访问,是访问不到数据的;
Storage只能存储key/value对,并且只支持字符串类型的数据;若是你想保存其它类型的数据,在保存的时候就须要转化成字符串,在读取时,再转化回来;
它保存的数据并不进行加密,因此虽然web Storage功能很强大,但也不宜保存比较敏感的数据;
Web Storage支持的属性与方法:
Web Storage支持storage事件:
当web storage中的数据被保存后,修改或删除数据,都会触发Storage事件。
触发该事件对象,包含了触发对象,URL及key/value变化先后的键值。
虽然规范里要求Storage事件在同一个浏览器里能被全部的窗口或者标签页触发,可是该功能目前只有少数的浏览器支持。
Storage Event支持的属性有: