我在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.mozIndexedDB
是null
。
在localhost中工作正常,但我需要在没有HTTP的情况下运行。
我的代码是否需要进行任何更改?
答案 0 :(得分:1)
“安全”季节的文件协议上禁用了很多东西。我试图在Mozilla网站上找到原因,但他们没有在MDN上提到任何关于限制的内容。但如果你走向黑暗面,微软会提到限制。
注意以下代码示例需要支持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)。