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