HTML5 本地存储的规范中,定义两个重要的 API :Web Storage 和 本地数据库( Web SQL Database ),其中本地数据库就类似于关系型数据库。Web SQL 数据库在移动 Web 浏览器上的支持并不理想,同时鉴于 W3C 已经停止对其标准的支持,所以在此也不详细累述。
此处仅重点讲 Web Storage .
本地存储 Web Storage 实际上是 HTML4 的 Cookies 存储机制的一个改进版本,一个变种。然而在两种机制的功能又有不同。 Web Storage 主要是将网站中有用的信息存储到本地的计算机或者移动设备中,然后根据实际的需求去读取本地存储的信息。
Web Storage 提供了两种类型的 API 接口:SessionStorage 和 localStorage 。从名字上很容易理解出他们之间的生命周期的差别。SessionStorage 仅在会话内有效,而 localStorage 则存储在本地且永久有效,除非是用户或者程序对其执行删除的行为。
基本上所有的现代浏览器都已经支持 Web Storage 。
在 Android 与 IOS 平台各自的浏览器基本上支持 Web Storage 本地存储特性。
目前市场上的移动设备,除了 Android 与 iPhone 手机外,越来越多的平板电脑问世,而且基本上依赖这两种平台,对于 Web Storage 技术,我们几乎不需要考虑浏览器是否支持。
当然从代码的严谨角度来讲,建议最好是在使用之前检查一遍。
if( window.localStorage ){ //浏览器支持 localStorage }
if( window.sessionStorage ){ //浏览器支持 sessionStorage }
需要注意的是,Opera 公司发布的 Opera Mobile 和 Opera Mini 两款移动 Web 浏览器虽然都适用于手机浏览器,但是两者还是有区别的。Opera Mobile 仅适用于 Android 和 Symbian 智能手机,而 Opera Mini 则适用于几乎所有的手机。
由于 Opera Mini 的渲染过程在服务器端,仅此对 HTML5 的支持并不理想。Opera 系列浏览器虽然在对 HTML5 的支持上稍显逊色但是并不影响 IOS 和 Android 平台,而且 Symbian 也得到了 Opera Mobile 的支持,因为可以完全的放心使用 Web Storage 特性。