我正在尝试使用 indexedDB 实现一个简单的网络应用程序,并使用这段代码来检测浏览器兼容性:
if(!window.indexedDB) {
alert("Your browser does not support indexedDB.");
}
在 Chrome 中运行时它不会打开警告框(如预期的那样),但在 IE 中运行时会弹出警告框。我认为这只是一个糟糕的 Internet Explorer 版本,所以我检查了一下。那是 11 点。我去了 http://caniuse.com查看支持什么版本,支持IE 11。出了什么问题?我是否使用了错误的代码来检测 indexedDB?
最佳答案
IE11 确实支持 IndexedDB 并且您提供的代码看起来很合理,因此如果未出现警报,则一定有其他因素。您没有过多提及您的环境,因此需要注意以下几点:
如果这是通过 HTTP or HTTPS 加载的公共(public)网页,很可能您没有在边缘模式下加载页面,因为您可能正在使用不在边缘模式(以前称为标准模式)下呈现的 DOCTYPE。如果你不确定 what this means ,请确保您网页的第一行是
<!doctype HTML>
. (使用F12工具验证文档提示为a good one。)如果此网页正在您的本地网络(包括本地硬盘驱动器)上运行,则可能正在加载该页面 in compatibility view .您想要在
"content="ie=edge"
处添加一个 x-ua 兼容 header .另一种可能性是,由于本地组策略设置和/或其他环境因素,IndexedDB 可能被禁用。这很难预测,但一种响应方式可能是尝试使用 claims to work 的代码来测试该功能。在完全不同的环境中,例如连接到其他环境的 PC,例如你的家庭网络。
目前不确定具体建议是什么,但(希望)这里有一些有用的东西。
希望这有助于...
-- 兰斯
关于internet-explorer - 为什么 Internet Explorer 11 检测不到 indexedDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29703520/