尝试使用 Javascript 构建 Metro 应用程序并遇到 IndexedDb 问题。我无法创建对象存储。我的代码如下所示。我在 open() 函数成功后这样做。
dbReq.onsuccess = function (evt) {
var txn = evt.target.transaction;
var db = evt.target.result;
if (!db.objectStoreNames.contains("test")) {
var store = db.createObjectStore("test");
}
}
每次,它都会在“createObjectStore”调用上抛出一个异常,上面写着
0x800a139e - JavaScript 运行时错误:[object IDBDatabaseException]
他们在这里谈论它,这也是一个很好的例子,但仍然没有帮助我。请注意,控制会命中“if”语句中的一行代码。所以 'db' 不是 null 并且是有效的。但我看到交易是空的 - 不确定这是否是一个问题,或者即使你现在应该得到一个有效的交易。