0

尝试使用 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 并且是有效的。但我看到交易是空的 - 不确定这是否是一个问题,或者即使你现在应该得到一个有效的交易。

4

1 回答 1

0

不知道为什么它不起作用。切换到使用漫游设置,它非常易于使用。

roamingSettings.values[SETTING_NAME] = SETTING_VALUE;

阅读,当然,

var temp = roamingSettings.values[SETTING_NAME];
于 2012-05-26T17:41:21.180 回答