我正在尝试在我的网页上实现浏览器支持功能。对于Firefox 3.6,它工作正常,但由于某些原因,IE 8的userAgent返回了错误的值。
这是一个场景,当我在IE8上运行'本地'javascript代码时,navigator.userAgent会返回正确的信息(MSIE 8.0)。但是当我在服务器上运行此脚本时,它会在IE 8浏览器上返回MSIE 7.0。
有什么想法吗?
答案 0 :(得分:6)
您也需要检查三叉戟令牌。
三叉戟令牌
当使用F12开发人员工具更改Internet Explorer的浏览器模式时,会修改用户代理字符串的版本标记以使浏览器显示为早期版本。这样做是为了允许将特定于浏览器的内容提供给Internet Explorer,并且通常仅在未更新网站以反映当前版本的浏览器时才需要。
发生这种情况时,会将三叉戟令牌添加到用户代理字符串中。此令牌包含一个版本号,使您可以识别浏览器的版本,无论当前的浏览器模式如何。
答案 1 :(得分:4)
您确定没有在IE7模式下运行吗?您可以在开发人员设置(F12,我认为)中的某处更改它。
答案 2 :(得分:2)
Microsoft提供此页面:
http://msdn.microsoft.com/en-us/library/ms537509(v=vs.85).aspx
根据Javascript示例,人们会认为IE8会返回8而不是7。