Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “错误”;操作失败,原因与数据库无关…”;在Firefox中使用indexedDB时_Javascript_Html_Indexeddb - Fatal编程技术网

Javascript “错误”;操作失败,原因与数据库无关…”;在Firefox中使用indexedDB时

Javascript “错误”;操作失败,原因与数据库无关…”;在Firefox中使用indexedDB时,javascript,html,indexeddb,Javascript,Html,Indexeddb,我在FF中的不同示例之间来回尝试,得到的结果是操作失败的原因与数据库本身无关,并且没有被任何其他错误代码覆盖。我相信这是由var request=indexedDB.open(“mydb”,2)引起的 谢谢如何打开此html/js脚本 如果调用正确,FF无法从file.html 这是一个缺陷或特性,取决于一个视点 尝试使用xampit或其他“服务器”。或者直接用Chrome进行快速测试。当我试图“本地”打开一个文件时,我也遇到了同样的问题。 我在MDC上发现一篇帖子说,出于安全原因,任何使用in

我在FF中的不同示例之间来回尝试,得到的结果是操作失败的原因与数据库本身无关,并且没有被任何其他错误代码覆盖。我相信这是由
var request=indexedDB.open(“mydb”,2)引起的


谢谢

如何打开此html/js脚本

如果调用正确,FF无法从
file.html

这是一个缺陷或特性,取决于一个视点


尝试使用xampit或其他“服务器”。或者直接用Chrome进行快速测试。

当我试图“本地”打开一个文件时,我也遇到了同样的问题。 我在MDC上发现一篇帖子说,出于安全原因,任何使用indexedDb的操作都只能通过Web服务器请求才能使用。
因此,问题似乎与文件名(namelly file.html)无关,而与协议有关。

是的,我在回答之前就已经解决了:)但在Web服务器上它可以工作。感谢ThoughMeans,IndexedDB只能通过http(s)://URL,而不是file://提供服务,这意味着这个答案是错误的,下面的答案是正确的。
  var db;

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

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

  customerData=[
    {ssn:"444-44-4444",name:"Bill",age:35,email:"bill@company.com"},      
    {ssn:"555-55-5555",name:"Donna",age:32,email:"donna@home.org"}
  ];

  request.onerror = function(event){

  };
  request.onupgradeneeded = function(event) {

     var objectStore = db.createObjectStore("customers",{keyPath:"ssn"});
     objectStore.createIndex("name","name",{unique:false});
     objectStore.createIndex("email","email",{unique:true});

     for(var i in customerData){
        objectStore.add(customerData[i]);
     }
  } ;
  request.onsuccess = function(e) {

  } ;