Internet explorer 为什么Internet Explorer 11不检测indexedDB

Internet explorer 为什么Internet Explorer 11不检测indexedDB,internet-explorer,indexeddb,Internet Explorer,Indexeddb,我正在尝试使用indexedDB实现一个简单的web应用程序,并使用以下代码片段检测浏览器兼容性: if(!window.indexedDB) { alert("Your browser does not support indexedDB."); } 在Chrome中运行时,不会打开警报框(如预期),但在IE中运行时,警报框会弹出。我觉得这只是一个蹩脚的Internet Explorer版本,所以我检查了一下。当时是11点。我去看看什么版本是受支持的,IE 11是受支持的。出什么事了?

我正在尝试使用indexedDB实现一个简单的web应用程序,并使用以下代码片段检测浏览器兼容性:

if(!window.indexedDB) {
   alert("Your browser does not support indexedDB.");
}

在Chrome中运行时,不会打开警报框(如预期),但在IE中运行时,警报框会弹出。我觉得这只是一个蹩脚的Internet Explorer版本,所以我检查了一下。当时是11点。我去看看什么版本是受支持的,IE 11是受支持的。出什么事了?我是否使用了错误的代码来检测indexedDB?

IE11确实支持indexedDB,并且您提供的代码看起来合理,因此如果警报没有出现,那么肯定还有其他因素。您没有在您的环境中提及太多内容,因此这里有几点需要注意:

  • 如果这是通过加载的公共网页,则很可能您没有在边缘模式下加载该页面,因为您可能使用的DOCTYPE未在边缘模式(以前称为标准模式)下呈现。如果您不确定,请确保网页的第一行是
    。(有关使用F12工具验证文档的提示如下。)

  • 如果此网页正在本地网络(包括本地硬盘)上运行,则可能正在加载该网页。您需要添加一个与x-ua兼容的标头,其中
    “content=“ie=edge”

  • 另一种可能是,由于本地组策略设置和/或其他环境因素,IndexedDB可能会被禁用。这很难预测,但一种应对方法可能是尝试使用在完全不同的环境中测试该功能的代码,例如连接到其他环境的PC,例如您的家庭网络rk

目前还不确定该建议什么,但(希望)这里有一些有用的东西

希望这有助于


--Lance

您尝试过window.msIndexedDB吗?请参阅开发人员工具的“仿真”选项卡。使用的是什么文档模式/仿真模式。它还将告诉您如何设置它(x-ua元、兼容性视图设置、企业模式等)。