5

当我在每个 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。

4

3 回答 3

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 浏览器。

于 2010-02-16T14:33:58.540 回答
4

IE8 有一个 IE7 兼容模式,允许它像 IE7 一样工作并将自己标识为 IE7。这是为了让 IE8 保持与旨在使用 IE7 和 Internet Explorer 早期版本的怪癖的网站的向后兼容性。

如何让 IE8 模拟 IE7

于 2010-02-16T14:33:52.080 回答
1

您是否使用了 IE8 的兼容模式,它使您的浏览器表现得像 IE7 一样并呈现自己?

于 2010-02-16T14:33:44.763 回答