0

関数内で次のことを実行しようとしています。

var transaction = db.transaction("CustDetails",IDBTransaction.READ_WRITE);

以下のようなエラーが発生します:

"Uncaught Error: NOT_FOUND_ERR: DOM IDBDatabase Exception 3"

私は次のことを行いました: 1. グローバル db を宣言しました。2. 上記のトランザクション コードは関数内にあり、データベース オープンは別の関数内にあり、この関数から呼び出されています。3.ただし、以下をグローバルに宣言しました。

var db;
var test = {};
test.indexedDB = {};
test.indexedDB.db = null;

以下を実行した後も、上記のエラーが発生します。問題は何ですか?

ありがとう。

4

1 に答える 1

1

最初に構造を作成する必要があります。

var conn = window.indexeddb.open("name", 1)
conn.onupgradeneeded =function (e){
   // Create the structure here
}
conn.onsuccess = function (e){
   db = e.target.result;
   db.transaction("CustDetails",IDBTransaction.READ_WRITE);
}

この投稿では、構造を定義する方法を説明していますが、これは古い方法を使用していることに注意してください。この投稿では、新しい方法がどのように機能するかを説明します。

于 2012-10-15T10:54:25.917 に答える