0
我正在使用Firefox 21.我編寫了下面的代碼,以在頁面加載時顯示indexedDB對象存儲的內容。IndexedDB事件不會觸發
window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB ||
window.msIndexedDB;
window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction ||
window.msIDBTransaction;
window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange ||
window.msIDBKeyRange;
var request = window.indexedDB.open('mgDB', 1);
request.onerror = function(e) {
alert('error');
};
request.onupgradeneeded = function(e) {
alert('upgradeneeded');
};
request.onsuccess = function(e) {
alert('success');
};
由於知道mgDB尚不存在,我預計將觸發upgradeneeded事件。當我使用Firebug調試代碼時,發現錯誤,onsuccess和onupgrade需要空值,所以沒有任何事件被觸發。當我在沒有調試模式的情況下執行代碼時,我看到成功事件被解僱。有誰知道爲什麼會發生?
對於需要刪除數據庫並在需要測試時重新啓動的需求是正確的。讓我詳細說明我如何進行測試。昨天,當我開始測試的時候,我發現有幾次這個事件發生了。然後,在每次測試之前,我手動刪除了數據庫,並且看到onsuccess事件持續發生。今天早上,我再次通過手動刪除數據庫並清除Firefox緩存+ cookie進行了測試,並且我看到onupgradeneeded和success事件都是一致的。 –
就是這樣,如果升級,onupgradeneeded會先被觸發。在這裏你可以編輯結構。完成此操作後,打開數據庫連接,您可以開始使用它讀取,插入,刪除...數據。 –