<meta http-equiv="X-UA-Compatible" content="?">使用方法

根据您支持的Microsoft浏览器,您可能不需要继续使用X-UA-Compatible tag。如果您需要支持IE9或IE8,那么我建议使用标记。如果您只支持最新的浏览器(IE11和/或Edge),那么我将考虑完全放弃这个标签。如果您使用Twitter引导程序,并且需要消除验证警告,则此标记必须以其指定的顺序出现。额外的信息如下:

与x - ua兼容的meta标记允许web作者选择页面应呈现为哪个版本的Internet Explorer。IE11已经改变了这些模式;请参阅下面的IE11注释。微软Edge浏览器将在IE11之后发布,它只会在特定情况下支持X-UA-Compatible meta标签。请参阅下面的Microsoft Edge说明。

根据微软的说法,当使用X-UA-Compatible tag时,它应该在你的文档头里尽可能高:

如果您使用的是X-UA-Compatible META tag,那么您需要将它尽可能地放在页面顶部。Internet Explorer开始使用最新版本解释标记。当Internet Explorer遇到X-UA-Compatible META标签时,它会使用指定版本的引擎重新启动。这是对性能的一次打击,因为浏览器必须停止并重新开始分析内容。

使用方法:

Use content="IE=edge,chrome=1"   Skip other X-UA-Compatible modes
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
没有兼容性图标:
  IE9地址栏不会显示兼容视图按钮,页面也不会显示一堆不合适的菜单、图片和文本框。
特点:
  要在IE8上启用javascript::JSON.parse(),需要这个元标记
兼容性:
  现代HTML/CSS/JavaScript的呈现/执行更有效(更好)。
性能:
  三叉戟渲染引擎在边缘模式下运行得更快。
使用在HTNL中
  <!DOCTYPE html>
    <html>
      <head>

        <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
IE=edge意味着IE应该使用最新版本的渲染引擎
chrome=1意味着IE应该使用chrome渲染引擎,如果安装

以下是<meta http-equiv="X-UA-Compatible" content="?">内容

  • "IE=edge"
  • "IE=11"
  • "IE=EmulateIE11"
  • "IE=10"
  • "IE=EmulateIE10"
  • "IE=9"
  • "IE=EmulateIE9
  • "IE=8"
  • "IE=EmulateIE8"
  • "IE=7"
  • "IE=EmulateIE7"
  • "IE=5"

以下是微软提供的定义:

  Internet Explorer支持多种文档兼容模式,支持不同的特性,并可能影响内容的显示方式:

  1、edge 模式告诉Internet Explorer以可用的最高模式显示内容。对于Internet Explorer 9,这相当于IE9模式。如果Internet Explorer的未来版本支持更高的兼容模式,设置为edge模式的页面将以该版本支持的最高模式出现。当使用Internet Explorer 9浏览时,这些相同的页面仍将以IE9模式显示。Internet Explorer支持多种文档兼容模式,支持不同的特性,并可能影响内容的显示方式:

  2、IE11模式为已建立的和新兴的行业标准提供了最高的支持,包括HTML5、CSS3等。

       3、IE10模式为已建立的和新兴的行业标准提供了最高的支持,包括HTML5、CSS3等

  4、IE9模式为已建立的和新兴的行业标准提供了最高的支持,包括HTML5(工作草案)、W3C层叠样式表级别3规范(工作草案)、可缩放矢量图形(SVG) 1.0规范等。[编辑注:ie9不支持CSS3动画]。

  5、IE8模式支持许多已建立的标准,包括W3C Cascading Style Sheets Level 2.1规范和W3C选择器API;它还对W3C层叠样式表级别3规范(工作草案)和其他新兴标准提供了有限的支持。

  6、IE7无论页面是否包含指令,IE7模式都会以标准模式显示内容,就像IE7一样。

  7、Emulate IE9模式告诉Internet Explorer使用指令来确定如何呈现内容。标准模式指令在IE9模式下显示,怪癖模式指令在IE5模式下显示。与IE9模式不同,模拟IE9模式尊重指令。

  8、Emulate IE8模式告诉Internet Explorer使用指令来确定如何呈现内容。标准模式指令以IE8模式显示,怪癖模式指令以IE5模式显示。与IE8模式不同,模拟IE8模式尊重指令。

  9、Emulate IE7模式告诉Internet Explorer使用指令来确定如何呈现内容。标准模式指令显示在Internet Explorer 7标准模式中,怪癖模式指令显示在IE5模式中。与IE7模式不同,模拟IE7模式尊重指令。对于许多web站点,这是首选的兼容模式。

  10、IE5模式将内容呈现为Internet Explorer 7的“怪癖”模式,这与微软Internet Explorer 5中的内容显示方式非常相似。

注意:从IE10开始,怪模式的行为与早期版本的浏览器不同。在IE9和更早的版本中,quirks模式将网页限制为IE5.5所支持的功能。在IE10中,quirks模式符合HTML5规范中指定的差异。

就我个人而言,我总是选择http-equiv="X-UA-Compatible" content="IE=edge" meta标签,因为老版本有很多bug,我不希望IE进入"兼容模式",把网站显示为IE7 vs IE8或ie9。我一直比较喜欢最新版本的IE

 

IE11

从IE11开始,edge模式是首选的文档模式;它代表了对浏览器可用的现代标准的最高支持。

使用HTML5文档类型声明来启用边缘模式:

  <!doctype html>

  Edge模式是在Internet Explorer 8中引入的,在以后的每个版本中都可以使用。注意,edge模式支持的特性仅限于呈现内容的特定版本所支持的特性。

  从IE11开始,文档模式就被弃用了,不应该再使用,除非是临时的。确保更新依赖于遗留特性和文档模式以反映现代标准的站点。

  如果您必须以特定的文档模式为目标,以便在您重新设计站点功能以支持现代标准和功能时,请注意您使用的是过渡性功能,这在将来的版本中可能无法使用。

  如果您目前使用x-ua兼容的标头以遗留文档模式为目标,那么您的站点可能不会反映IE11提供的最佳体验。

microsoftedge(替换了Windows 10附带的Internet Explorer)

  关于x - ua -兼容元标签的信息,用于IE的“edge”版本。从微软:

引入“生活”边缘文档模式

  正如我们在2013年8月宣布的,我们不赞成IE11的文档模式。随着我们最新的平台更新,对遗留文档模式的需求主要局限于企业遗留web应用程序。随着新的体系结构的变化,这些遗留文档模式将与“动态”边缘模式的变化隔离开来,这将有助于确保依赖于这些模式的客户具有更高级别的兼容性,并帮助我们更快地改进Edge。下一个主要版本的IE仍然会支持内部网站点提供的文档模式,兼容视图列表上的站点

  公共Internet站点将使用新的Edge模式平台呈现(忽略X-UA-Compatible)。我们的目标是,Edge从现在开始就是“活的”文档模式,以后不会再引入任何文档模式。

随着Microsoft Edge在大多数情况下不再支持文档模式的变化,微软有一个工具来扫描您的站点,检查它是否有与Edge不兼容的代码。

Chrome=1信息为IE

还有chrome=1,您可以使用或与上面的选项一起使用,比如:。chrome=1为谷歌的chrome帧,定义为:

  谷歌Chrome框架是一个开源浏览器插件。安装了插件的用户可以在浏览器中打开页面时访问谷歌Chrome的开放web技术和快速的JavaScript引擎。

  谷歌铬框架无缝提高您的浏览体验在Internet Explorer。它使用谷歌Chrome的渲染技术显示支持谷歌Chrome框架的站点,让您可以访问最新的HTML5特性以及谷歌Chrome的性能和安全特性,而不会以任何方式中断您通常的浏览器使用。

  当安装了谷歌铬框架,网络就会变得更好,而无需你去想它。

  但是要使该插件工作,您必须在X-UA-Compatible meta标签中使用chrome=1。

注:谷歌Chrome Frame仅适用于IE6到IE9,于2014年2月25日退役。更多信息可以在这里找到。感谢@mck提供链接。

HTML5

  只有在使用时,页面才会使用W3验证器进行验证。对于其他值,它将抛出错误:具有http-equiv属性的元元素,其值与x - ua兼容,必须具有值IE=edge的内容属性。换句话说,如果你有IE=edge,chrome=1它将不会验证。我完全忽略了这个错误,因为现代浏览器完全忽略了这一行代码。

如果你必须有完全有效的代码,然后考虑在服务器级别通过设置HTTP头来做这件事。微软指出,如果这两个指令都被发送(meta和HTTP),开发人员的首选项(meta元素)优先于web服务器设置(HTTP报头)。有关如何设置HTTP头的详细信息,请参阅olibre或bitinn的答案。

XHTML

    当使用时,验证没有问题,只要标签正确关闭(例如/> vs >)

Twitter Bootstrap 

  至少从2014年开始,Bootstrap团队就强烈推荐使用这个标签,而twbs团队编写的linter Bootlint继续在标签被省略时发出警告。棉绒机可以区分警告和错误,因此忽略此标记的严重性可能被认为是很小的。

  有关X-UA-Compatible .参见微软的网站定义文档兼容性。

  有关IE支持什么的更多信息,请参阅caniuse.com。

 

posted @ 2018-11-15 10:59  青涩的柠檬酸  阅读(1051)  评论(0编辑  收藏  举报