【发布时间】: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