在Firefox中。初始化(一次)IndexedDB deleteDatabase不重置版本
var r, dbname = 'a1', db = mozIndexedDB;
首先,
try { r = db.open(dbname, 5); } catch (ex) { console.log(ex); }
r.onupgradeneeded = r.onsuccess = r.onblocked = r.onerror = function (e) { console.log(e); };
你被解僱的應該是兩個事件。然後關閉數據庫,
r.result.close()
最後,刪除數據庫,
try { r = db.deleteDatabase(dbname); } catch (ex) { console.log(ex); }
r.onsuccess = r.onerror = r.onblocked = function (e) { console.log(e); };
成功刪除。然而,當我開始運行第一步scrip(打開數據庫)時,'onupgradeneeded'不會被觸發,並且在它被刪除之前的版本中打開數據庫。它是錯誤的,還是我做錯了?
謝謝。
今天我發現它是我造成這種奇怪的行爲,而不是Firefox。我使用sqlite數據庫查看器大概鎖定sqlite文件和Firefox無法重置版本。 每當我退出我的sqlite查看器,上面的代碼(和我的測試)開始正常工作! 認爲它仍然很奇怪,Firefox不會觸發/不拋出任何錯誤。 – David
非常有趣。也很有意義。感謝您的回覆,我相信其他人會在某個時候遇到這個問題,以及IDB也會加快步伐。 – buley
如果您可以嘗試查看您是否仍然看到相同的行爲,我們將非常感激。我們確實應該發射一個「錯誤」事件。自deleteDatabase最初實施以來,我們已經修復了一些錯誤,可能包括這一錯誤。如果您仍然能夠在夜間生成中重現錯誤,請提交錯誤,並確保它得到修復。 –