IE 8 的开发者工具:浏览器模式:IE 7、IE 8,但是什么是 IE 8“兼容性视图”?

发布于 2024-09-06 15:47:58 字数 311 浏览 5 评论 0原文

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

IE 7
IE 8
IE 8 Compatibility View

因此,如果IE 7要强制页面显示为就像浏览器是IE 7一样,并且
IE 8 是强制页面按原样使用标准 IE 8 显示,
那么额外的IE 8“兼容性视图”有什么用呢?有什么用呢?如果我们已经有了 IE 7,为什么还需要这个额外的模式呢?该模式可以做什么 IE 7 模式无法做到的事情?

In IE 8, we can bring out the Developer Tools. Then on top, there is a Browser Mode:

IE 7
IE 8
IE 8 Compatibility View

So if IE 7 is to force the page to be shown as if the browser is IE 7, and
IE 8 is to force the page to be shown using the standard IE 8 as it is,
then what is the extra IE 8 "Compatibility View" for? What use is it? If we already have IE 7, why need this extra mode? What does this mode do that the IE 7 mode cannot do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凑诗 2024-09-13 15:47:58

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

“IE7”完全模拟 IE7 的用户代理字符串,显示 MSIE 7.0。
“IE8”完全使用 IE8 的本机用户代理字符串,显示 MSIE 8.0 以及 Trident/4.0,后者是 IE8 中使用的 Trident 布局引擎的版本。

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

由于Trident在IE7之前没有版本号,因此IE7字符串不会显示“Trident/xx”。因此,对于 MSIE 7.0 用户代理字符串,如果还存在“Trident/4.0”,则您知道它是在兼容性视图中运行的 IE8;如果“Trident/xx”不存在,则您知道它是真正的 IE7 或 IE7 模式下的 IE8(不是兼容模式)。

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

IE7:

Mozilla/4.0(兼容;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;平板电脑 2.0;.NET4.0E)

IE8:

Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.1;Trident/4.0;SLCC2;.NET CLR 2.0 .NET CLR 3.5.30729; 媒体中心 PC 6.0; MS-RTC EA 2; .NET4.0E

)兼容性:

Mozilla/4.0(兼容;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;

The difference is in the user agent string.

"IE7" emulates IE7's user agent string exactly, showing MSIE 7.0.
"IE8" uses IE8's native user agent string exactly, showing MSIE 8.0 as well as Trident/4.0, which is the version of the Trident layout engine used in IE8.

IE8-Compatibility uses the browser's native user agent string, but changes "8.0" to "7.0".

Because Trident did not have a version number prior to IE7, the IE7 string does not show "Trident/x.x". So with an MSIE 7.0 user agent string, if "Trident/4.0" is also present, you know it's IE8 running in compatibility view; if "Trident/x.x" is NOT there, you know it's either the real IE7 or IE8 in IE7 mode (not compatibility mode).

I hope my explanation is clear enough, and here is an example of some user agent strings below.

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-Compatibility:

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)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文