HTML5技术

HTML5 学习笔记(三)——本地存储 - SeeYouBug(2)

字号+ 作者:H5之家 来源:H5之家 2016-12-04 12:00 我要评论( )

提示:SQLite,是一款轻型的免费开源的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使

提示:SQLite,是一款轻型的免费开源的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至2015年已经有15个年头,SQLite也迎来了一个版本 SQLite 3已经发布。

SQLiteSpy管理工具下载:

2.7、用途、练习与兼容性

所有需要将少量(不超过4M)数据存储在客户端的需求都适用,如密码,用户偏好(profile)等

登录成功后记录用户访问次数。

在IE8中测试通过

Firefox测试通过

三、sessionStorage

将数据临时保存在客户端session对象中。session对象就是会话对象,session中存储的数据独立于每个客户,该数据会随着浏览器的关闭而消失。

sessionStorage的操作api与localStorage基本一样,在不手动清除的情况下localStorage永久保存,而sessionStorage只是临时暂存。

3.1、sessionStorage使用

sessionStorage 本地存储sessionStorage 本地存储添加取值修改删除d04.html); add_click() { ); ; ; } get_click() { msg.innerHTML; msg.innerHTML; msg.innerHTML; } update_click() { ); ; ; } delete_click() { sessionStorage.clear(); }

运行结果:

可以实现在页面间传值,比如可以临时存储用户信息。

3.2、Web本地存储事件监听 

当程序修改localStorage与sessionStorage时将触发全局事件。

当setItem(),removeItem()或者clear() 方法被调用,并且数据真的发生了改变时,就会触发storage事件,如果需要进行监听数据处理,通过以下方法:
window.addEventListener(event,handleEvent, capture)
event:设置成storage
handleEvent:事件处理函数
capture:事件处理顺序,一般设置成false,表示采用冒泡方式处理

handleEvent处理事件的函数会接收到一个StorageEvent对象,该对象有以下属性:
key:被修改的键。
oldValue:修改前的值(如果是增加新的键值,则该属性为null)
newValue:修改后的值(如果是删除键值,则该属性为null)
url/uri:触发当前存储事件的页面的url

注意:storage改变的时候,触发这个事件会调用所有同域下其他窗口的storage事件,不过它本身触发storage即当前窗口是不会触发这个事件的(当然ie这个特例除外,它包含自己本事也会触发storage事件)

 修改d02页面,监听值的变化。

获得localStorage的值 console.log(localStorage.price); window.addEventListener((obj){ alert(obj.oldValueobj.url); },true);

运行结果如下:

3.3、cookie、sessionStorage、localStorage比较

 

四、Web SQL Database 

Web SQL Database 引入了一套使用 SQL 来操纵客户端数据库(client-side database)的 API,这些 API 是异步的(asynchronous),规范中所使用的 SQL 语言为 SQLite。Web SQL Database API 实际上未包含在 HTML 5 规范之中,它是一个独立的规范,它引入了一套使用 SQL 操作客户端数据库的 API,这些 API 有同步的,也有异步的, 同步版本的 API 只在工作线程(Worker Threads)上有用,由于并不是所有的浏览器都支持工作线程,一般情况下,都会使用异步 API。兼容情况如下:

 

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • HTML5 学习笔记(二)——HTML5新增属性与表单元素 - SeeYouBug

    HTML5 学习笔记(二)——HTML5新增属性与表单元素 - SeeYouBug

    2016-12-04 13:00

  • HTML5地理定位 - 八颗

    HTML5地理定位 - 八颗

    2016-12-01 14:00

  • HTML5 学习总结(四)——canvas绘图、WebGL、SVG - 张果

    HTML5 学习总结(四)——canvas绘图、WebGL、SVG - 张果

    2016-12-01 13:00

  • Html5 绘制五星红旗 - 飞翔的月亮

    Html5 绘制五星红旗 - 飞翔的月亮

    2016-12-01 12:00

网友点评
c