HTML5 IndexedDB本地储存


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

request.addEventListener('success', function(event){

    // 创建数据库实例

    const db = event.target.result;

    // 查找一个ObjectStore

    db.transaction(objectStoreName, wa);

    // wa为'readwrite'时,数据可以读写

    // wa为'readonly'时,数据只读

    const store = transaction.objectStore(objectStoreName);

}, false);

数据库的增删改查:


1

2

3

4

5

6

7

8

9

10

11

12

13

// 添加数据,当关键字存在时数据不会添加

store.add(obj);

// 更新数据,当关键字存在时覆盖数据,不存在时会添加数据

store.put(obj);

// 删除数据,删除指定的关键字对应的数据

store.delete(value);

// 清除ObjectStore

store.clear();

// 查找数据,根据关键字查找指定的数据

const g = store.get(value);

g.addEventListener('success', function(event){

    // 异步查找后的回调函数

}, false);

按索引查找数据


1

2

3

4

5

6

7

8

9

const index = store.index(indexName);

const cursor = index.openCursor(range);

cursor.addEventListener('success', function(event){

    const result = event.target.result;

    if(result){

        result.value       // 数据

        result.continue(); // 迭代,游标下移

    }

}, false);

按索引的范围查找数据


1

2

3

4

5

6

7

8

9

10

11

12

13

14

const index = store.index(indexName);

const cursor = index.openCursor(range);

/**

 * range为null时,查找所有数据

 * range为指定值时,查找索引满足该条件的对应的数据

 * range为IDBKeyRange对象时,根据条件查找满足条件的指定范围的数据

 */

// 大于或大于等于

range = IDBKeyRange.lowerBound(value, true)   // (value, +∞),>  value

range = IDBKeyRange.lowerBound(value, false)  // [value, +∞),>= value

// 小于或小于等于,isOpen:true,开区间;false,闭区间

range = IDBKeyRange.upperBound(value, isOpen)

// 大于或大于等于value1,小于或小于等于value2

IDBKeyRange.bound(value1, value2, isOpen1, isOpen2)

最后,自己封装了一个indexedDB的库,可以参考一下:duan602728596/IndexedDB

以上就是HTML5 IndexedDB本地储存的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

html5多媒体audio和video详细介绍(一)

h5的地理定位怎样使用

html5与html4的区别是什么

h5实现拖拉上传文件

h5+canvas卷积核图像处理步骤详解

element-ui对话框可拖拽的功能如何实现?(附代码)

h5和js有什么区别

html5的优势有哪些

html5 canvas图像处理的实现代码分享

html5中的script属性及js同步和异步加载实现代码详解

更多相关阅读请进入《indexeddb》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...