检测IE版本不考虑兼容模式
我想弄清楚是否可以检测您正在使用的 IE 版本,而不是您的文档模式。它可以是服务器或客户端代码(无关紧要),我只需要知道用户安装了哪个版本的 IE 即可。
I'm trying to figure out if it's possible to detect what version of IE you are using, and not your document-mode. It can be server or client-code (doesn't matter), I just need to know what version of IE the user has installed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通过检查用户代理字符串,可以在两者中检测到它。请注意,浏览器可以欺骗其 UA 字符串,但这种情况现在比过去少见。有关旧版 UA 字符串,请参阅 MSDN 上的这篇文章 。
另请注意,IE8 在兼容模式和标准模式下发送不同的 UA 字符串(请参阅 此 和 这个 - 两者都是 IE8,尽管前者说
MSIE 7.0
) 。有关 UA 字符串的长列表,请参阅 此 - 请注意,您应该查看对于模式,不完全匹配,因为安装的软件会修改 UA 字符串。
IE9 有一些新的 UA 字符串 - 请参阅 IEBlog 了解详细信息。
总结一下(并借用 @EricLaw 的评论):
MSIE [0-9].0
版本 Trident/4.0 - IE 8 的字符串MSIE
中的版本与Trident/5.0 - IE 9It could be detected in both, by examining the User-Agent string. Note that browsers can spoof their UA string, but this is rarer now than in the past. See this article on MSDN for older UA strings.
Note also that IE8 sends a different UA string in Compatibility mode and in Standards mode (see this and this - both are IE8, although the former says
MSIE 7.0
).See this for a long list of UA strings - note that you should be looking for a pattern, not exact match, as installed software will modify the UA string.
IE9 has some new UA string thing - see the IEBlog for details.
To summarize (and borrow from @EricLaw's comment):
MSIE [0-9].0
string for versionMSIE
is not relevant