internet-explorer - 检测IE版本不考虑兼容模式

标签 internet-explorer browser-detection

我正在尝试弄清楚是否有可能检测到您使用的是哪个版本的 IE,而不是您的文档模式。它可以是服务器代码或客户端代码(无所谓),我只需要知道用户安装的 IE 版本。

最佳答案

可以通过检查 User-Agent 字符串在两者中检测到它。请注意,浏览器可以欺骗其 UA 字符串,但现在这种情况比过去少见。参见 this article on MSDN对于较旧的 UA 字符串。

另请注意,IE8 在兼容模式和标准模式下发送不同的 UA 字符串(请参阅 thisthis - 两者都是 IE8,尽管前者表示 MSIE 7.0)。

参见 this对于一长串 UA 字符串 - 请注意,您应该寻找一种模式,而不是完全匹配,因为安装的软件会修改 UA 字符串。

IE9 有一些新的 UA 字符串 - see the IEBlog for details .

总结(并借用 @EricLaw 的评论):

  • UA 字符串中没有 Trident - 检查 MSIE [0-9].0 字符串的版本
  • Trident/4.0 - IE 8,MSIE 中的版本不相关
  • 三叉戟/5.0 - IE 9

关于internet-explorer - 检测IE版本不考虑兼容模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4539280/

相关文章:

html - 内网IE兼容模式和Filereader的问题

javascript - 为什么 IE8 在 jquery window.resize 事件上挂起?

javascript - addEventListener 在 IE 11 中不起作用

css - IE9 中的 z-index 分层,例如,检查堆栈上下文(我认为)

javascript - 对于 IE6 浏览器检测,某些非 IE 浏览器显示为 true

css - 如何为div设置透明颜色?它应该适用于 Firefox 和 IE

基于当前浏览器的宽度和高度的 JavaScript CSS 选择

asp.net - 移动浏览器模拟器其中 Request.Browser.IsMobileDevice=True?

jquery - 使用 JQuery 检测 CSS3

php - 如果是 iPad/iPhone,则不显示此信息