为什么window.indexedDB评估为undefined?(如何使用IndexedDB?)

Jas*_*vis 2 javascript html5 indexeddb

我正在搞乱HTML5的IndexedDB.

以下是来自http://html5-demos.appspot.com/static/html5storage/index.html#slide31的简单代码 ,它在Chrome或Firefox中不适用于我,它在Firebug中给我这条消息:

未捕获的TypeError:无法调用undefined`的方法'open'

对于代码的第一行,这是:

var db = window.indexedDB.open('FriendDB', 'My Friends!');  // exception here
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

有一个JSFiddle运行代码


我知道这适用于浏览器,因为这个交互式幻灯片可以工作:http://html5-demos.appspot.com/static/html5storage/index.html#slide34

Tre*_*xXx 6

您必须为每个浏览器(window.webkitIndexedDBwindow.mozIndexedDB)使用带前缀的版本.然后你可以这样做:

window.indexedDB = window.indexedDB
                     || window.webkitIndexedDB
                     || window.mozIndexedDB;
Run Code Online (Sandbox Code Playgroud)

然后window.indexedDB在代码中的任何地方使用.