在Firefox 15中,window.mozIndexedDB为null

时间:2012-10-07 17:13:35

标签: html5 firefox indexeddb

我正在尝试在https://developer.mozilla.org/en-US/docs/IndexedDB/Using_IndexedDB

上运行“使用IndexedDB”示例代码

刚出门,我偶然发现了第一行代码: window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;

使用Firebug我看到window.indexedDB未定义为FF 15的预期,window.webkitIndexedDB未按预期定义(FF不是webkit)但window.mozIndexedDB为空但未定义。如果它为null,告诉我它存在但没有有效值/未初始化。

这适用于OSX 10.6.8和Ubuntu 12.04上的Firefox 15.0.1。有人能告诉我为什么我无法看到/使用window.mozIndexedDB吗?我做错了吗?

为了完整性,这是我的JavaScript文件:

window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;

var request = window.indexedDB.open("MyTestDatabase", 3);
var db;

request.onerror = function (event) {
    alert("Oops, request.onerror");
};

request.onsuccess = function (event) {
    // Do something with request.result!
    alert("Made it to request.onsuccess");

    db = request.result;
};

// This event is only implemented in recent browsers
request.onupgradeneeded = function (event) {
    alert("Made it to request.onupgradeneeded");
};

db.onerror = function (event) {
    alert("Database error (db.onerror): " + event.target.errorCode);
};

1 个答案:

答案 0 :(得分:0)

我原来的HTML5应用程序使用jQuery Mobile& REST WS。在开发中,我会直接从文件系统运行它,它工作正常。为了与同事共享,我将它运行在Apache httpd。

之后

在添加IndexedDB时,我试图通过浏览器查看文件系统中的文件进行测试。它没有用,这就是让我回到原点并尝试运行Mozilla的示例代码的原因。

看起来IndexedDB需要一个域,即使它是localhost。我只是将我的代码放在public_html下并通过httpd / localhost查看它并且它运行良好。