【发布时间】:2013-09-25 06:32:56
【问题描述】:
IE10+ 不再支持浏览器检测标签来识别浏览器。
为了检测 IE10,我使用 JavaScript 和一种能力测试技术来检测某些 ms 前缀样式,例如 msTouchAction 和 msWrapFlow。
我想对 IE11 做同样的事情,但我假设 IE11 也将支持所有 IE10 样式。谁能帮我确定我可以用来区分这两者的仅限 IE11 的样式或功能?
额外信息
- 我不想使用用户代理类型检测,因为它参差不齐,而且可以更改,而且我认为我已经读到 IE11 故意试图隐藏它是 Internet Explorer 的事实。
- 作为 IE10 功能测试工作原理的示例,我使用 JsFiddle(不是我的)作为测试的基础。
- 我也期待很多“这是一个坏主意......”的答案。我对此的一个需求是 IE10 声称它支持某些东西,但它的实现非常糟糕,我希望能够区分 IE10 和 IE11+,以便将来继续使用基于能力的检测方法。
- 此测试与 Modernizr 测试相结合,该测试只会使某些功能“回退”到不那么迷人的行为。我们不是在谈论关键功能。
另外,我已经在使用 Modernizr,但在这里没有帮助。我需要帮助来解决我明确提出的问题。
【问题讨论】:
-
为什么需要知道用户使用的是什么浏览器?特征检测/css前缀/css条件还不够吗?
-
我忘了说我们需要检测浏览器是有原因的,但能力测试并没有帮助。我们的问题之一是 IE10 说它支持某些东西,但做的不是很好。
-
@David-SkyMesh - 不。不幸的是,这还不够。我希望它是,但它不是。
-
@Evildonald 你没有回答为什么你需要知道——特别是。这很可能是一个 XY 问题。 (即:您要求使用 X 提供帮助 - 检测 IE11 - 我们何时可以回答不同的问题 Y - 如何与更多浏览器兼容,包括 IE11 for TASK Z)
-
我有一个 .js 可以检测浏览器版本,它说 ie11 是一个 firefox。发生了什么事,即开发人员!
标签: internet-explorer-11 sample feature-detection