在IE 8中,我们可以带出开发人员工具。然后在顶部,有一个浏览器模式:

IE 7
IE 8
IE 8 Compatibility View

因此,如果 IE 7 是要强迫该页面显示,就像浏览器是7,并且
IE 8 是要强迫使用标准I 8的页面显示页面,
那是什么额外的 IE 8 "Compatibility View" 为了?有什么用?如果我们已经拥有IE 7,为什么需要这种额外的模式?这种模式是什么 IE 7 模式不能做?

有帮助吗?

解决方案

区别在于用户代理字符串。

“ IE7”完全模拟IE7的用户代理字符串,显示MSIE 7.0。 “ IE8”精确地使用了IE8的本机用户代理字符串,显示了MSIE 8.0以及TRIDEN/4.0,这是IE8中使用的三叉戟布局引擎的版本。

IE8兼容性使用浏览器的本地用户代理字符串,但将“ 8.0”更改为“ 7.0”。

因为Trident在IE7之前没有版本号,所以IE7字符串未显示“ Triend/XX”。因此,使用MSIE 7.0用户代理字符串,如果也存在“ Trident/4.0”,您知道它是在兼容性视图中运行的IE8;如果不存在“ Trident/XX”,则您知道它是IE7模式下的真实IE7或IE8(不是兼容模式)。

我希望我的解释足够清楚,这是下面一些用户代理字符串的示例。

IE7:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; FDM; MS-RTC EA 2; Tablet PC 2.0; .NET4.0C; .NET4.0E)

IE8:

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; FDM; MS-RTC EA 2; Tablet PC 2.0; .NET4.0C; .NET4.0E)

IE8兼容:

Mozilla/4.0 (compatible; MSIE 7.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; FDM; MS-RTC EA 2; Tablet PC 2.0; .NET4.0C; .NET4.0E)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top