一个奇怪的问题:考虑到站点强制IE8与如下语句兼容,浏览器中的代码如何检测浏览器是否实际上是IE8,而不是新版本的?请注意,我并不是在寻找特性可用性,而是希望给出一条特定于IE8的消息。
<meta content='IE=8' http-equiv='X-UA-Compatible' />有许多记录在案的检测IE8的方法,但与旧版本相比,它们似乎只起作用。像IE11这样的较新版本在兼容性模式下表现得很像IE8,以至于js和css检测IE8的方法看不出它们的区别。
我尝试过在StackOverflow和其他各种站点上列出的各种方法,但是当站点迫使他们进入IE8兼容模式时,似乎没有人能够从IE11中检测到IE8。请只回答那些确实适用于这种情况的方法(而不仅仅是对可能有效的建议--我已经尝试过其中的许多)。
发布于 2014-02-10 13:20:47
读取特定的MSDN文档表明,无论兼容性设置如何,都可以使用代理字符串中的“三叉戟”值。以下是IE的不同版本的值。因此,对于IE8来说,检查"Trident/4.0“似乎是可行的。详细信息:理解用户代理字符串
Token Description
Trident/7.0 IE11
Trident/6.0 Internet Explorer 10
Trident/5.0 Internet Explorer 9
Trident/4.0 Internet Explorer 8https://stackoverflow.com/questions/21582517
复制相似问题