为什么我的HTTP_USER_AGENT并不总是一样?

时间:2010-02-16 14:31:34

标签: http internet-explorer-8 user-agent

当我在每个perl页面的开头打印ENV {'HTTP_USER_AGENT'}时,有时它会说我正在使用IE7,有时它说我正在使用IE8。知道为什么吗?

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; 
InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; 
.NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322;
InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648;
.NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

我的IE版本实际上是8。

3 个答案:

答案 0 :(得分:9)

出于向后兼容性原因,IE 8将伪装成IE 7 - 这称为兼容性视图。

更多信息:http://msdn.microsoft.com/en-us/library/dd567845%28VS.85%29.aspx

兼容性视图(因此IE 7用户代理字符串)仅对特定网站启用。要查看列表,请访问

res://iecompat.dll/iecompatdata.xml

使用IE浏览器。

答案 1 :(得分:4)

IE8具有IE7兼容模式,允许它像IE7一样工作并将自己标识为IE7。因此,IE8保持与旨在使用IE7和以前版本的Internet Explorer的怪癖的网站的向后兼容性。

How to make IE8 emulate IE7

答案 2 :(得分:1)

您是否正在使用IE8的兼容模式,这使得您的浏览器的行为与IE7一样并且呈现出来?