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 ランタイム エラー: [オブジェクト IDBDatabaseException]

ここで彼らはそれについて話しており、それも見るのに良い例ですが、それでも私には役に立ちませんでした. 制御が 'if' ステートメント内のコードの 1 行にヒットすることに注意してください。したがって、「db」は null ではなく、有効です。しかし、トランザクションが null であることを確認しました。それが問題なのか、この時点で有効なトランザクションを取得する必要があるのか​​ さえわかりません。

4

1 に答える 1

0

なぜ機能しなかったのかわかりません。ローミング設定に切り替えて、とても使いやすくなりました。

roamingSettings.values[SETTING_NAME] = SETTING_VALUE;

読むのはもちろん、

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