为什么 IE 8 navigator.userAgent 返回 MSIE 7.0?
我正在尝试在我的网页上实现浏览器支持功能。对于 Firefox 3.6,它工作正常,但由于某种原因 IE 8 的 userAgent 返回错误的值。
这是这样的场景,当我在 IE8 上运行“本地”javascript 代码时,navigator.userAgent 返回正确的信息(MSIE 8.0)。但是当我在服务器上运行此脚本时,它会在 IE 8 浏览器上返回 MSIE 7.0。
有什么想法吗?
I am trying to implement a browser support feature on my webpage. For Firefox 3.6 it is working fine, but for some reason IE 8's userAgent is returning a wrong value.
Here is the scenario, when I run a 'local' javascript code on IE8, navigator.userAgent returns correct information (MSIE 8.0). But when I run this script on a server, it returns MSIE 7.0 on an IE 8 browser.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您还需要检查 Trident 令牌。
Trident 令牌
当使用 F12 开发人员工具更改 Internet Explorer 的浏览器模式时,用户代理字符串的版本令牌会被修改以显示,以便浏览器看起来是早期版本。这样做是为了允许向 Internet Explorer 提供特定于浏览器的内容,并且通常仅当网站尚未更新以反映浏览器的当前版本时才需要这样做。
发生这种情况时,Trident 令牌将添加到用户代理字符串中。此令牌包含一个版本号,使您能够识别浏览器的版本,无论当前的浏览器模式如何。
更多:http://msdn.microsoft.com/en-us/library/ms537503.aspx
You need to check Trident token too.
Trident token
When the F12 developer tools are used to change the browser mode of Internet Explorer, the version token of the user-agent string is modified to appear so that the browser appears to be an earlier version. This is done to allow browser specific content to be served to Internet Explorer and is usually necessary only when websites have not been updated to reflect current versions of the browser.
When this happens, a Trident token is added to the user-agent string. This token includes a version number that enables you to identify the version of the browser, regardless of the current browser mode.
MORE : http://msdn.microsoft.com/en-us/library/ms537503.aspx
您确定不是在 IE7 模式下运行吗?您可以在开发人员设置中的某个位置更改它(我认为是 F12)。
Are you sure you aren't running in IE7 mode? You can change it somewhere in the Developer settings (F12, I think).
Microsoft 提供此页面:
http://msdn.microsoft .com/en-us/library/ms537509(v=vs.85).aspx
根据 Javascript 示例,人们会认为 IE8 将返回 8,而不是 7。
Microsoft provides this page:
http://msdn.microsoft.com/en-us/library/ms537509(v=vs.85).aspx
According to the Javascript sample one would think IE8 would return an 8, not a 7.