如何让indexedDB在IE11中工作?

时间:2016-02-19 16:25:27

标签: html5 internet-explorer-11 indexeddb

我想在我的IE11中使用indexedDB,但似乎未定义。这是代码:

<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>



    <script>
        window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;

        window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction || window.msIDBTransaction;
        window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange

        if (IDBTransaction) {
            window.IDBTransaction.READ_WRITE = window.IDBTransaction.READ_WRITE || 'readwrite';
            window.IDBTransaction.READ_ONLY = window.IDBTransaction.READ_ONLY || 'readonly';
        }
        if (!window.indexedDB) {
            window.alert("Your browser doesn't support a stable version of IndexedDB.")
        }
        alert(document.documentMode);
        alert(document.compatMode);
    </script>
</head>

<body>
 The content of the document......
</body>

</html> 

警报:

Your browser doesn't support a stable version of IndexedDB.
11
CSS1Compat

有谁知道什么是错的?

由于

1 个答案:

答案 0 :(得分:5)

我怀疑您是尝试从本地文件(例如c:\test.html)而不是HTTP资源执行此操作。 IE可能限制从文件(或非HTTP)起源访问API。

如果我将您的内容本地保存到文件中,则会在IE中注明。如果我通过服务器提供内容,它可以正常工作。

一个更简单的例子:

<script>
alert(window.indexedDB);
</script>
  • 本地文件:undefined
  • 已送达:[object IDBFactory]

例如:

&#13;
&#13;
alert(window.indexedDB);
&#13;
&#13;
&#13;