2016-02-19 2 views
0

Я хочу использовать indexedDB в своем IE11, но он, кажется, не определен. Это код:Как получить indexedDB для работы в IE11?

<!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 

Кто-нибудь знает, что случилось?

Благодаря

ответ

2

Я подозреваю, что вы пытаетесь сделать это из локального файла (например, c:\test.html), а не как ресурс HTTP. IE, вероятно, ограничивает доступ к API из исходных файлов (или не HTTP).

Если я сохраняю ваш контент локально в файл, он предупреждает, как вы отметили в IE. Если я обслуживаю контент через сервер, он работает правильно.

Более простой пример:

<script> 
alert(window.indexedDB); 
</script> 
  • Локальный файл: undefined
  • Служил: [object IDBFactory]

Например:

alert(window.indexedDB);

Смежные вопросы