Javascript “错误”;操作失败,原因与数据库无关…”;在Firefox中使用indexedDB时
我在FF中的不同示例之间来回尝试,得到的结果是操作失败的原因与数据库本身无关,并且没有被任何其他错误代码覆盖。我相信这是由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
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) {
} ;