为什么indexedDB给出了无效的状态错误?

时间:2013-11-13 15:31:11

标签: javascript indexeddb

当我运行此代码时:

var idbSupported = false;
var db;

document.addEventListener("DOMContentLoaded", function(){

    if("indexedDB" in window) {
        idbSupported = true;
    }

    if(idbSupported) {
        var openRequest = indexedDB.open("test",1);

        openRequest.onupgradeneeded = function(e) {
            console.log("Upgrading...");
        }

        openRequest.onsuccess = function(e) {
            console.log("Success!");
            db = e.target.result;
        }

        openRequest.onerror = function(e) {
            console.log("Error: " + e.target.errorCode);
            // console.dir(e);
        }

    }

},false);

来自本教程:

http://net.tutsplus.com/tutorials/javascript-ajax/working-with-indexeddb/

Firefox 17中的

不知道为什么我收到错误事件而不是成功事件。

简化代码会给出相同的错误:(只需复制粘贴)到控制台中即可看到。

(function(){
    if(window.indexedDB) {
        var openRequest = indexedDB.open("test", 1);
        openRequest.onupgradeneeded = function(e) {
            console.log("Upgrading...");
        }
        openRequest.onsuccess = function(e) {
            console.log("Success!");
            db = e.target.result;
        }
        openRequest.onerror = function(e) {
            console.log("Error: " + e.target.errorCode);
            console.dir(e);
        }
    }
})();

根据here,FF 16及以上版本不需要前缀。

我注意到的一点是浏览器没有要求使用indexedDB的权限,因为它可能是因为浏览器未配置为使用indexedDB?

0 个答案:

没有答案