0
我正在爲後臺的IndexedDB數據庫開發iOS版Cordova應用程序。這裏是我打開的數據庫代碼:IndexedDB onupgradeneeded iOS上的事件目標爲空
indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB || window.shimIndexedDB;
window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction || window.msIDBTransaction;
window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange;
if (!indexedDB) {
window.alert("Your browser doesn't support a stable version of IndexedDB.");
}
console.log("openDb ...");
var req = indexedDB.open(insectDbName, 21);
console.log(req);
req.onsuccess = function(evt) {
debugger;
db = this.result;
console.log("openDb DONE");
};
req.onerror = function(evt) {
//debugger;
console.error("openDb: ", evt.target.errorCode);
};
req.onupgradeneeded = function(evt) {
console.log("openDb.onupgradeneeded");
//debugger;
var versionStore = evt.currentTarget.result.createObjectStore(versionStoreName, { autoIncrement : true});
console.log("versionStore created");
};
現在,我的問題是,當我打開數據庫,該請求是沒有IDBOpenRequest
對象。但事件正在解僱。當我用新版本號打開數據庫時,將調用onupgradeneeded
事件。當我用當前版本打開時,將調用onsuccess
事件。 問題是,對象永遠不會被創建,因爲在onupgradeneeded
事件中,evt.currentTarget
爲空。
我已經包含了IndexedDBshim和Cordova IndexedDB Plugin,但它仍然不起作用。
有沒有人遇到類似的問題?