IE:为什么某些网站的兼容性视图会消失?

tsi*_*ilb 25 browser internet-explorer

IE9 显示某些网站的兼容模式按钮,但不显示其他网站。对于其他人,我仍然可以通过“工具”>“兼容性视图设置”添加它来启用它,然后它会按预期运行。

在此处输入图片说明

为什么这个按钮不总是出现?有没有办法覆盖它?

Sgt*_*tOJ 26

按钮的存在取决于这种类型的元标记:

<meta http-equiv="X-UA-Compatible" content="IE=edge">
Run Code Online (Sandbox Code Playgroud)

文档兼容模式

使用最新版本的 Internet Explorer,这些模式可以控制网页支持的功能以及页面的显示方式。

  • IE=EmulateIE8 mode 告诉 Internet Explorer 使用该指令来确定如何呈现内容。标准模式指令以 Internet Explorer 8 标准模式显示,而怪癖模式指令以 IE5 模式显示。与 IE8 模式不同,Emulate IE8 模式遵守指令。

  • IE=EmulateIE7告诉 Internet Explorer 使用该指令来确定如何呈现内容。标准模式指令以 Internet Explorer 7 标准模式显示,而怪癖模式指令以 IE5 模式显示。与 IE7 模式不同,Emulate IE7 模式遵守指令。对于许多网站,这是首选的兼容模式:

  • IE=5 呈现内容就好像它是通过 Internet Explorer 7 的 quirks 模式显示的一样,这与内容在 Internet Explorer 5 中的显示方式非常相似。

  • IE=7 呈现内容就好像它是由 Internet Explorer 7 的标准模式显示的一样,无论页面是否包含指令。

  • IE=8 支持许多既定标准,包括 W3C Cascading Style Sheets Level 2.1 Specification 和 W3C Selectors API;它还为 W3C 级联样式表级别 3 规范(工作草案)和其他新兴标准提供有限的支持。

  • IE=9 为既定和新兴行业标准提供最高支持,包括 HTML5(工作草案)、W3C 级联样式表级别 3 规范(工作草案)、可缩放矢量图形 (SVG) 1.0 规范等。

  • IE=Edge 告诉 Internet Explorer 以可用的最高模式显示内容。对于 Internet Explorer 8,这相当于 IE8 模式。

如果 Internet Explorer 的(假设)未来版本支持更高的兼容性模式,则设置为边缘模式的页面将以该版本支持的最高模式显示。使用 Internet Explorer 8 查看时,这些相同的页面将出现在 IE8 模式下;并在 IE9 模式下使用 Internet Explorer 9 查看。

概括

如果出现以下任一情况,IE 将不会显示“兼容性视图”按钮:

  • 元标记的内容等于您使用的 IE 版本;或者
  • 元标记的内容设置为IE=edge.

参考

定义文档兼容性 (Internet Explorer)

  • 然而,假设网站创建者考虑了标签,人们可以期望网站呈现得很好...... (2认同)

Arj*_*jan 8

除了布赖恩的回答中<meta>解释的标签外:

如果本地(内联网)站点发生这种情况:似乎默认首选项总是使内联网站点以兼容模式运行,更糟糕的是,根本不显示按钮。

禁用“在兼容性视图中显示 Intranet 站点”设置会使本地站点也显示该按钮,因此您可以将其关闭。请注意,兼容性视图设置仅列在“完整”菜单中(按 Alt-T),而不是速记齿轮图标:

替代文字 替代文字 替代文字

或者,使 IE 不再识别 Intranet 站点

  • 这是因为许多公司的 Intranet 站点和内部 Web 应用程序都是在 IE6 上运行的程序。微软知道大多数 IE6 用户是被迫使用 IE6 的员工。使所有站点默认以兼容模式运行,可以更顺畅地过渡到 IE 的更新版本。如果许多公司都像[编辑掉],那么情况就是这样。你必须记住改变要花钱。公司只关心钱。_编辑公司名称以保护他们_。这家公司甚至没有切换到更新版本,直到谷歌/中国黑客事件发生。 (2认同)