我正在尝试运行“使用 IndexedDB”示例代码https://developer.mozilla.org/en-US/docs/IndexedDB/Using_IndexedDB https://developer.mozilla.org/en-US/docs/IndexedDB/Using_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);
};
我原来的 HTML5 应用程序使用 jQuery Mobile 和 REST WS。在开发中,我会直接从文件系统运行它,它工作得很好。为了与同事共享,我让它在 Apache httpd 后面运行。
在添加 IndexedDB 时,我尝试通过浏览器查看文件系统中的文件来进行测试。它不起作用,这就是导致我回到第一步并尝试运行 Mozilla 的示例代码的原因。
看起来 IndexedDB 需要一个域,即使它是本地主机。我只是将我的代码放在 public_html 下并通过 httpd/localhost 查看它,它工作得很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)