【问题标题】:IndexedDB errors in Firefox and Chrome: Unknown error and DOMExceptionFirefox 和 Chrome 中的 IndexedDB 错误:未知错误和 DOMException
【发布时间】:2017-04-15 09:34:58
【问题描述】:

我正在尝试在 Chrome 和 firefox 中打开 IndexedDB。我的代码:

var v = 2;
                    var request = indexedDB.open("orders", v);


                  //Firefox code for db init
                  request.onupgradeneeded = function (e) {

                  console.log("onupgradeneeded");
                    var db = e.target.result;
                    // We can only create Object stores in a setVersion transaction;

                    if(db.objectStoreNames.contains("client")) {
                        var storeReq = db.deleteObjectStore("client");
                    }

    const employeeData = [
            { id: "00-01", name: "gopal", age: 35, email: "gopal@tutorialspoint.com" },
            { id: "00-02", name: "prasad", age: 32, email: "prasad@tutorialspoint.com" }
         ];

            var objectStore = db.createObjectStore("client", {keyPath: "id"});

            for (var i in employeeData) {
               objectStore.add(employeeData[i]);
            }

                  }

      request.onsuccess = function(e) {
        var db =  e.target.result;

        console.log("Success");
        console.log(db);


   var transaction = db.transaction(["client"]);
            var objectStore = transaction.objectStore("client");
            var request = objectStore.get("00-02");

            request.onerror = function(event) {
               alert("Unable to retrieve daa from database!");
            };

            request.onsuccess = function(event) {
               // Do something with the request.result!
               if(request.result) {
                  alert("Name: " + request.result.name + ", Age: " + request.result.age + ", Email: " + request.result.email);
               }

               else {
                  alert("Kenny couldn't be found in your database!");
               }
            };


      };

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

在 Chrome 中它根本不起作用。我得到一个

DOMException: The user denied permission to access the database.

在 Firefox 中,它的工作方式如上所示。但是,当我将数据库的名称更改为 myindexeddb 时,它就不再起作用了。我收到了UnknownError

我不知道我做错了什么。

【问题讨论】:

    标签: javascript google-chrome firefox indexeddb


    【解决方案1】:

    在 chrome 中,转到 chrome://settings/content 并确保选中顶部的单选按钮。还要检查管理例外列表以查看该域是否被明确阻止。

    【讨论】:

      【解决方案2】:

      就我而言,我遵循了以下步骤:

      1. 在新的 Chrome 标签页中转到 url chrome://settings/content
      2. 点击Cookies
      3. 取消选中Block third-party cookies

      这应该可以解决错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-31
        • 2016-12-24
        • 2012-06-30
        • 1970-01-01
        • 2012-10-26
        相关资源
        最近更新 更多