【发布时间】:2015-04-09 01:12:21
【问题描述】:
我看到 IE 用户代理字符串有多个部分报告为不同版本的情况。例如:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;
{B93AEBFF-7B72-44EA-B006-8CB078CC1911};
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ;
.NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152;
.NET CLR 3.5.30729)
所以这声称是 MSIE 8.0,但也是 MSIE 6.0。这意味着什么特别的吗?它是股票 IE 还是有什么特别之处?
我之所以这么问,是因为我看到报告多个版本的浏览器出现了奇怪的行为,而另一个声称只有一个版本的 IE8.0 却没有:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1;
Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729;
.NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
不确定用户代理是否与它有关,但我想我会问。
[更新] 请注意,我没有针对特定浏览器版本进行编码,我只是注意到这是行为异常的浏览器与正常浏览器之间的差异。我想知道什么会导致一些 IE8.0 报告他们也是 IE6.0 其他人不是。
【问题讨论】:
-
您是否尝试过自己访问网站,在“兼容模式”下运行 IE8?我怀疑这是双标头的原因。
-
“奇怪的行为”是什么意思,你是如何验证你的用户代理的? user-agents.org/index.shtml?moz 没有列出这个特定的用户代理,它看起来确实无效。但是,用户代理可以在首选项中或通过注册表覆盖(请参阅msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx)。您的用户代理中的“{B93AEBFF-7B72-44EA-B006-8CB078CC1911}”让我觉得您的机器有些问题。
-
通过supportdetails.com 和另一个我不记得的站点获取用户代理。这是来自客户端浏览器(不是我们的),所以我不能确定,但我严重怀疑用户弄乱了注册表。这是我见过的第二个有多个 IE 版本(另一个是 MSIE7.0,也包括 MSIE6.0)。奇怪的行为:在这种情况下,它是一个 jquery .change 事件,没有按预期触发(当用户在下拉列表中选择新的东西时)。兼容模式:好点,当我可以访问Windows框时会尝试它。不过也发生在 IE7 上。