InvalidStateError:DOM IDBDatabase异常11

时间:2013-05-27 01:03:29

标签: javascript indexeddb

有人可以告诉我这里我出错了吗?

window.indexedDB = window.indexedDB || window.webkitIndexedDB ||
window.mozIndexedDB;

if ('webkitIndexedDB' in window) {
    window.IDBTransaction = window.webkitIDBTransaction;
    window.IDBKeyRange = window.webkitIDBKeyRange;
}

var VULY_DB = {};
VULY_DB = {};
VULY_DB.db = null;

VULY_DB.onerror = function(e) {
    console.log(e);
};

VULY_DB.open = function() {
    var request = indexedDB.open(salt);


    request.onerror = request.onsuccess = function(e) { VULY_DB.onerror(request.error); };
    request.onsuccess = function(e) {
        VULY_DB.db = e.target.result;
        var db = VULY_DB.db;

        var store = db.createObjectStore("revisions", {keyPath: "id"});
    };
};

VULY_DB.open();

谢谢!

2 个答案:

答案 0 :(得分:6)

您需要在onupgradeneeded方法中创建objectStores,而不是onsuccess。

请参阅“构建数据库”下的MDN示例:

https://developer.mozilla.org/en-US/docs/IndexedDB/Using_IndexedDB

答案 1 :(得分:2)

您通常也不需要使用前缀全局变量。我相信在最新版本的Chrome中,-webkit前缀已被删除,您应该只使用普通的全局变量。