当IE8兼容性设置时,如何检测IE8与较新版本分开

时间:2014-02-05 16:17:35

标签: javascript css internet-explorer internet-explorer-8

一个奇怪的问题:鉴于网站强制IE8与以下语句的兼容性,浏览器中的代码如何检测浏览器是否实际上是IE8而不是某些较新的版本?请注意,我不是在寻找功能可用性,而是希望提供特定于IE8的消息。

<meta content='IE=8' http-equiv='X-UA-Compatible' />

有很多方法可以检测到IE8,但与旧版本相比,它们似乎只能起作用。像IE11这样的新版本在兼容模式下表现得像IE8一样出色,js和css检测IE8的方法无法区分它们。

我尝试过在StackOverflow和其他各种网站上列出的各种方法,但是当网站强制它们进入IE8兼容模式时,似乎没有人能够从IE11中检测到IE8。请只回答那些确实适用于这个确切案例的方法(不仅仅是对什么可行的建议 - 我尝试了很多这些)。

1 个答案:

答案 0 :(得分:0)

读取特定的MSDN文档表示无论兼容性设置如何,都可以使用代理字符串中的“Trident”值。以下是IE的不同版本的值。所以对于IE8,检查“Trident / 4.0”似乎有效。详情:Understanding user-agent strings

Token         Description
Trident/7.0   IE11
Trident/6.0   Internet Explorer 10
Trident/5.0   Internet Explorer 9
Trident/4.0   Internet Explorer 8