HTMl5的web Storage提供了两种在客户端存储数据的方法,即localStorage和sessionStorage。
- localStorage是一种没有时间限制的数据存储方式,可以将数据保存在客户端的硬盘或其他存储器,浏览器的关闭并不意味着数据也随之消失,当再次打开浏览器时,依然可以访问这些数据。localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
- sessionStorage指的是针对一个session的数据存储,即将数据保存在session对象中。web中的session指的是用户在浏览某个网站时,从进入网站到关闭浏览器所进过的这段时间,可以称为用户和浏览器进行交互的会话时间。session对象用来保存这个时间段内所有要保存的数据,但用户关闭浏览器后,这些数据会被删除。sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。
使用sessionStorage设置网页中的简单数据:
window.sessionStorage.secItem('myFirstKey','myFirstValue');
获取数据需要getItem函数:
window.sessionStorage.getItem('myFirstKey');
url属性指向Storage事件发生的源,storageArea属性是一个引用,它指向值发生变化的localStorage或sessionStorage对像,这样处理程序就可以方便地查询到Storage中的当前值,或基于其他Storage的改变而执行其他操作。
Web SQL Database允许应用程序通过一个异步接口访问SQLLite数据库。
HTML5数据库API是以一个独立规范的形式出现,包括以下3个核心方法。
- openDatabase:使用现有数据库或创建新数据库的方式创建数据库对象;
- transaction:允许用户根据情况控制事务提交或回滚;
- executeSql:用于执行真实的SQL查询。
DatabaseopenDatabase(in DOMString name,in DOMString version,in DOMString displayName,inunsigned long estimatedSize,in optional DatabaseCallback creationCallback);
openDatabase中5个参数分别表示:数据库名、版本号、描述、数据库大小和创建回调。
db.transaction(function(tx){});transaction方法使用一个回调函数作为参数,在这个函数中,执行访问数据库的语句。
transaction.executeSql(sqlquery,[],dataHandler,errorhandler);第一个参数为需要执行的SQL语句,第二个参数为SQL语句中所有使用到的参数数组,第三个参数为执行sql语句成功时调用的回调函数,第四个参数为执行SQL语句出错时调用的回调函数。
clearStorage函数将localStorage中保存的数据全部清除,在这个函数中只有一条语句localStorage.clear();