0

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

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();

谢谢!

4

2 回答 2

6

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

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

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

于 2013-05-27T03:44:37.583 回答
2

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

于 2013-05-27T16:33:13.393 回答