在Firefox 14到16版本中,window.mozindexdb为null

时间:2012-10-29 10:54:15

标签: jquery html5

我在Firefox 14-16版中打开没有HTTP协议的文件。

我无法打开indexdb。我的语法是:

window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB;
var IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction;
var request = window.indexedDB.open(dbname, dbversion);
request.onsuccess = function (evt) {
    alert('Success')
};

使用Firebug,我可以看到window.mozIndexedDBnull

在localhost中工作正常,但我需要在没有HTTP的情况下运行。

我的代码是否需要进行任何更改?

1 个答案:

答案 0 :(得分:1)

“安全”季节的文件协议上禁用了很多东西。我试图在Mozilla网站上找到原因,但他们没有在MDN上提到任何关于限制的内容。但如果你走向黑暗面,微软会提到限制。

来自Microsoft's site

  

注意以下代码示例需要支持File的浏览器   API和索引数据库API,例如Internet Explorer 10或更高版本。   此外,每个示例都有一个关联的“实时链接”,它链接   到一个工作代码示例(使用http协议)。为了安全   原因,索引数据库API只能通过http,https,   ms-wwa,或Windows Internet Explorer中的ms-wwa-web协议。那是,    Internet Explorer不允许完全使用本地HTML页面(file://)   执行索引数据库API。相反,页面必须位于后面   支持的协议,例如http://或https://。如果方便的话,一个地方   Web服务器可用于使用环回预览IndexedDB页面   地址(127.0.0.1)。