HTML5 Web Storage

Web Storage是HTML5 API提供一个新的重要的特性;

最新的Web Storage草案中提到,在web客户端可用html5 API,以Key-Value形式来进行数据持久存储;

目前主要的浏览器已经支持该功能;

常见的web客户端数据存储比较:

 

Html5 Web Storage非常易于Web开发者使用,他提供了非常简单的获取或设置key-value对的API;

支持的数据大小由网页浏览器厂商来决定,大多数支持都是5M或10M以上;

这就意味着,我们可以在客户端存储更多有关用户及会话的信息,诸如用户个人设置、本地化数据、离线数据等;

Web Storage存储的数据可能用javascript来进行访问;

 

Web Storage对象主要分为两种类型:sessionStorage and localStorage;

 

sessionStorage:是针对用户执行单个事务的方案而设计的,仅在单个页面(标签或者窗口)会话范围内是有效的。所以当页面session失效时,数据也会删除;

localStorage:是跨多个窗口,且持续范围可超过当前会话;意味着当浏览器关闭再重新打开,数据依然是可用的;

这两种类型的对象,在不同的浏览器之间访问数据是无效的;例如,我们在Firefox中创建localStorage,要在IE中去访问,是访问不到数据的;

Storage只能存储key/value对,而且只支持字符串类型的数据如果你想保存其它类型的数据,在保存的时候就需要转化成字符串,在读取时,再转化回来;

它保存的数据并不进行加密,所以虽然web Storage功能很强大,但也不宜保存比较敏感的数据;

 

Web Storage支持的属性与方法:

Web Storage支持storage事件:

当web storage中的数据被保存后,修改或删除数据,都会触发Storage事件。

触发该事件对象,包含了触发对象,URL及key/value变化前后的键值。

虽然规范里要求Storage事件在同一个浏览器里能被所有的窗口或者标签页触发,但是该功能目前只有少数的浏览器支持。

Storage Event支持的属性有:

 

 

posted @ 2012-02-19 18:36  folotus  阅读(5362)  评论(1编辑  收藏  举报