为什么IE 8 navigator.userAgent会返回MSIE 7.0?

时间:2011-10-14 23:42:37

标签: javascript html internet-explorer-8 user-agent navigator

我正在尝试在我的网页上实现浏览器支持功能。对于Firefox 3.6,它工作正常,但由于某些原因,IE 8的userAgent返回了错误的值。

这是一个场景,当我在IE8上运行'本地'javascript代码时,navigator.userAgent会返回正确的信息(MSIE 8.0)。但是当我在服务器上运行此脚本时,它会在IE 8浏览器上返回MSIE 7.0。

有什么想法吗?

3 个答案:

答案 0 :(得分:6)

您也需要检查三叉戟令牌。

三叉戟令牌

当使用F12开发人员工具更改Internet Explorer的浏览器模式时,会修改用户代理字符串的版本标记以使浏览器显示为早期版本。这样做是为了允许将特定于浏览器的内容提供给Internet Explorer,并且通常仅在未更新网站以反映当前版本的浏览器时才需要。

发生这种情况时,会将三叉戟令牌添加到用户代理字符串中。此令牌包含一个版本号,使您可以识别浏览器的版本,无论当前的浏览器模式如何。

更多:http://msdn.microsoft.com/en-us/library/ms537503.aspx

答案 1 :(得分:4)

您确定没有在IE7模式下运行吗?您可以在开发人员设置(F12,我认为)中的某处更改它。

答案 2 :(得分:2)

Microsoft提供此页面:

http://msdn.microsoft.com/en-us/library/ms537509(v=vs.85).aspx

根据Javascript示例,人们会认为IE8会返回8而不是7。