我可以区分客户端的浏览器是IE7还是例如IE9是否在IE7兼容模式下?我试图弄清楚是否可以在我的网站上进行JS检查,这将识别两种不同的东西,并根据结果做不同的事情
我的第一个条件是工作正常,因为到处都说如何做到这一点。不确定第二个和/或两者的组合。
最佳答案
对于至少IE8和IE9,您可以检查navigator.userAgent
中是否包含子字符串Trident
。 IE8 + 始终的用户代理中具有Trident
,而IE7则没有。参见this answer和the MSDN link in it。
IE10似乎比较棘手:在下面的评论中报告,在IE7仿真模式下Trident
并非总是。如果IE10在任何支持IE7的平台上均不可用,则OS字符串(例如Windows NT 6.2
)仍将显示IE10。
另请注意,HTTP User-Agent
header 可能并不总是与navigator.userAgent
匹配。至少在启用兼容模式的IE9(发送IE7 User-Agent
header )但在响应中检测到类似IE=Edge
的情况下才是这种情况(navigator.userAgent
返回IE9)。
关于javascript - 区分IE7浏览器和IE7兼容模式下的浏览器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10213639/