"无法调用方法'打开'未定义的“;使用indexedDB.open时出错

"Cannot call method 'open' of undefined" error when using indexedDB.open

本文关键字:使用 open 出错 indexedDB 打开 quot 调用 方法 未定义      更新时间:2023-09-26

我是IndexedDB的新手,我正在遵循本指南IndexedDBTutorial我只是想创建一个数据库,然后能够添加一些条目。这就是我到目前为止所拥有的。

var db = window.indexedDB.open('FriendDB', 'My Friends!');
if (db.version != '1') {
    // User's first visit, initialize database (name, key, auto increment).
    db.createObjectStore('Friends', 'id', true);
    db.setVersion('1');
} else {
  // DB already initialized.
}
var store = db.openObjectStore('Friends');
var user = store.put({name: 'Eric', gender: 'male', likes: 'html5'});

在我的控制台中,我收到错误"无法调用未定义的方法'open'",我该如何处理?此外,如果有更好的在线资源可以帮助我,因为对于新手来说,我似乎找不到任何关于IndexedDB的话题。

这是html5rocks的indexeddb演示,我对其进行了改进,使其能够在Mozilla Firefox上工作,并添加了查看详细信息数据和编辑现有数据的功能。里面介绍了如何在indexeddb中创建数据库、插入、更新和删除数据。

https://github.com/denimf/IndexedDbToDo

每当您看到包含对setVersion的调用的代码时,它都会使用过时的语法。不幸的是,在编写规范的过程中,我们不得不在这么晚的时候做出如此大的更改,但这让正确使用IndexedDB变得非常简单,所以我们认为这是值得的

developer.mozilla.org上有很好的文档,尽管它肯定可以改进。