“使用indexedDB.open时,无法调用未定义的方法'open'错误

时间:2012-07-12 05:28:54

标签: javascript indexeddb

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

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'});

在我的控制台中,我收到错误“无法调用方法'打开'未定义”如何才能使其工作?此外,如果有更好的在线资源可以帮助我,因为我似乎无法找到任何关于新手的IndexedDB主题。

2 个答案:

答案 0 :(得分:2)

这是来自html5rocks的indexeddb演示,我已经改进了Mozilla Firefox,并增加了查看详细信息数据和编辑现有数据的功能。在里面你有解释如何在indexeddb中创建数据库,插入,更新和删除数据。

https://github.com/denimf/IndexedDbToDo

答案 1 :(得分:1)

每次看到包含对setVersion的调用的代码时,都会使用过时的语法。遗憾的是,我们不得不在规范编写期间如此晚地做出如此大的改变,但它使得使用IndexedDB变得非常简单,所以我们认为这是值得的。

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