小编Dev*_*ish的帖子

检测localStorage的任何变化?

有没有办法检测HTML5 localStorage中的任何更改,然后如果确实有任何更改,则调用某些函数?我将某些密钥存储为名称为"e1","e2","e3"等等......

我想检测是否删除或添加了任何键,然后在有任何更改时触发某些功能...

javascript jquery html5

14
推荐指数
1
解决办法
1万
查看次数

在indexedDb中添加多个对象的正确方法?

我有以下要添加到 indexedDb 的对象数组:

const data = [
    { name: 'abc',
      color: 'blue'
    },
    { name: 'xyz',
      color: 'red'
    },
    { name: 'yui',
      color: 'black'
    }];
Run Code Online (Sandbox Code Playgroud)

现在我创建数据库并将这些数据插入到存储中,如下所示:

if (!db.objectStoreNames.contains("people")) {
        peopleStore = db.createObjectStore("people", { keyPath: "name" });
        peopleStore.createIndex("color", "color", { unique: false });

        peopleStore.transaction.oncomplete = function(event) {
            data.forEach(function(data) {
                operations.add(data);
            });
        };
    }
Run Code Online (Sandbox Code Playgroud)

add()我已经使用(在 a 内)方法定义了一个函数表达式,const operations如下所示:

add: function(data) {
            let request = db
                .transaction(["people"], "readwrite")
                .objectStore("people")
                .add(data);
        }
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

  1. 这种方式是在每次调用 add() 方法时创建一个新事务,还是将所有数据插入到单个事务中?

  2. 如果每次都创建一个新事务,我怎样才能只创建 1 个事务来提高性能并仅执行其中的所有操作。我猜我必须使用事务创建一个全局变量并对其执行操作(还有其他方法,例如edit(), …

html javascript indexeddb

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×2

html ×1

html5 ×1

indexeddb ×1

jquery ×1