我在寫一個JavaScript/HTML5的Windows 8應用程序。寫入IndexedDB時偶爾會發生InvalidStateError。我的功能在下面,它發生在第一行。有沒有辦法確保國家是正確的?IndexedDB InvalidStateError,Windows 8
** newEncryptedInfo是一個包含2個字符串參數(暫時)的JSON對象。它形成得當。
function loadData(evt) {
var transaction = EncryptedDB.db.transaction("data", "readwrite");
var encryptStore = transaction.objectStore("data");
var addResult = encryptStore.add(newEncryptedInfo);
}
該問題似乎在調用函數我做過:if(EncryptedDB.db){EncryptedDB.db.close();}。不知道爲什麼。切換到if(!EncryptedDB.db){EncryptedDB.db = evt.target.result;}。從那以後沒有見過問題。 – SPSamL
locigal :)。很高興你找到了它。順便說一句,如果你想在indexeddb上使用更多的過濾器選項流利的lib,試試我的linq2indexeddb(http://linq2indexeddb.codeplex.com)。如果你看看Linq2IndexedDBWin8包的塊,你會得到我的lib的Windows 8版本 –