标签:
IndexedDB 是一种可以让你在用户的浏览器内持久化存储数据的方法。IndexedDB 为生成 Web Application 提供了丰富的查询能力,使我们的应用在在线和离线时都可以正常工作。
IndexedDB是一个比较新的存储方案,作为代替WebSQL出现的,可以再客户端想数据库那样存储数据。具体的支持情况可以查看Can I Use。可以看到支持情况并不怎么好。
具体的使用方法可以参考以下文章或视频:
下面是我在学习中遇到的一些问题。
书里的讲解有一些过时,比如设置indexedDB的版本号,书里是这样给出的:
request = database.setVersion("1.0");
而setVersion方法已经废弃了,具体参见:
Issue 161114:IndexedDB: replacing setVersion with new “upgradeneeded” API
现在以 onupgradeneeded 事件代替。
也就是说,每一次操作都需要在 success 和 error 执行相应操作老检测是否运行成功。
我们这样打开一个数据库:
request = indexedDB.open(‘zjzhome‘);
会触发三个事件, upgradeneeded 、 success 和 error ,若果想改变数据库结构只能在 upgradeneeded 事件中操作,而不是在 success 事件中。
var transaction = db.transaction([tableName], ‘readwrite‘); //事务 var objectStore = transaction.objectStore(tableName); //得到表的objectStore对象 //增删改查都借助这个objectStor对象 //add, put, delete, cursor
以上是我在学习中遇到的一些问题,以及解决方案。不定时更新。
标签:
原文地址:http://www.cnblogs.com/zjzhome/p/4333300.html