是做什么用的?


如果一个网页开头有什么区别

<!DOCTYPE html> 
<html> 
  <head> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 

如果页面以。开头

<!DOCTYPE html> 
<html> 
  <head> 
     <!-- without X-UA-Compatible meta -->

如果没有区别,我想我可以忽略它 X-UA-Compatible 元标题,因为我只想在所有IE版本中以大多数标准模式呈现它。


1199
2017-07-21 04:29


起源




答案:


2015年10月更新

这个答案是几年前发布的,现在的问题应该是 你应该考虑使用 X-UA-Compatible 您网站上的标记? 微软对其浏览器所做的更改(更多内容见下文)。

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


X-UA-Compatible 元标记允许Web作者选择应该呈现页面的Internet Explorer版本。 IE11改变了这些模式;请参阅下面的IE11注释。 Microsoft Edge,将在IE11之后发布的浏览器,只会尊重 X-UA-Compatible 在某些情况下的元标记。请参阅下面的Microsoft Edge注释。

据微软称,使用时 X-UA-Compatible 标签,它应该在您的文档中尽可能高 head

如果您使用的是X-UA兼容的META标签,您可以将其尽可能靠近页面顶部放置。 Internet Explorer开始使用最新版本解释标记。当Internet Explorer遇到兼容X-UA的META标记时,它会使用指定版本的引擎重新启动。这是一个性能损失,因为浏览器必须停止并重新开始分析内容。

以下是您的选择:

  • “IE =边缘”
  • “IE = 11”
  • “IE = EmulateIE11”
  • “IE = 10”
  • “IE = EmulateIE10”
  • “IE = 9”
  • “IE = EmulateIE9
  • “IE = 8”
  • “IE = EmulateIE8”
  • “IE = 7”
  • “IE = EmulateIE7”
  • “IE = 5”

为了尝试理解每个含义,这里是Microsoft提供的定义:

Internet Explorer支持许多文档兼容性模式,这些模式启用不同的功能并可能影响内容的显示方式:

  • 边缘模式告诉Internet Explorer以可用的最高模式显示内容。使用Internet Explorer 9,这相当于IE9模式。如果Internet Explorer的未来版本支持更高的兼容性模式,则设置为边缘模式的页面将以该版本支持的最高模式显示。使用Internet Explorer 9查看时,这些相同的页面仍将以IE9模式显示。   Internet Explorer支持许多文档兼容性模式,这些模式启用不同的功能并可能影响内容的显示方式:

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

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

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

  • IE8模式支持许多既定标准,包括W3C级联样式表2.1级规范和W3C选择器API;它还为W3C级联样式表3级规范(工作草案)和其他新兴标准提供有限的支持。

  • 无论页面是否包含指令,IE7模式都会将内容呈现为Internet Explorer 7以标准模式显示的内容。

  • 模拟IE9模式告诉Internet Explorer使用该指令来确定如何呈现内容。标准模式指令以IE9模式显示,而怪异模式指令以IE5模式显示。与IE9模式不同,Emulate IE9模式遵循该指令。

  • 模拟IE8模式告诉Internet Explorer使用该指令来确定如何呈现内容。标准模式指令以IE8模式显示,而怪异模式指令以IE5模式显示。与IE8模式不同,Emulate IE8模式遵循该指令。

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

  • IE5模式呈现内容,好像它是由Internet Explorer 7以怪异模式显示的,这与Microsoft Internet Explorer 5中显示内容的方式非常相似。

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

就个人而言,我总是选择 http-equiv="X-UA-Compatible" content="IE=edge" 元标记,因为旧版本有很多错误,我不希望IE决定进入“兼容模式”并将我的网站显示为IE7 vs IE8或9.我总是喜欢最新版本的IE。

IE11

微软

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

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

<!doctype html>

边缘模式是在Internet Explorer 8中引入的,并且在随后的每个版本中都可用。请注意,边缘模式支持的功能仅限于呈现内容的特定浏览器版本支持的功能。

从IE11开始,文档模式已弃用,不应再使用,临时情况除外。确保更新依赖于旧功能和文档模式的站点以反映现代标准。

如果您必须定位特定文档模式,以便在您重新设计网站时支持现代标准和功能,请注意您正在使用过渡功能,该功能可能在将来的版本中不可用。

如果您当前使用x-ua兼容标头来定位旧文档模式,则您的网站可能无法反映IE11提供的最佳体验。

Microsoft Edge (Windows 10附带的Internet Explorer替换)

有关的信息 X-UA-Compatible IE的“Edge”版本的元标记。 来自微软

介绍“生活”边缘文档模式

正如我们在2013年8月宣布的那样,我们正在弃用IE11中的文档模式。通过我们最新的平台更新,对遗​​留文档模式的需求主要限于企业遗留Web应用程序。随着新的体系结构更改,这些遗留文档模式将与“生活”边缘模式中的更改隔离开来,这将有助于为依赖这些模式的客户提供更高级别的兼容性,并帮助我们更快地在Edge中进行更改。 IE的下一个主要版本仍将遵循Intranet站点,兼容性视图列表中的站点以及仅与企业模式一起使用时所服务的文档模式。

公共Internet站点将使用新的Edge模式平台进行渲染(忽略X-UA-Compatible)。我们的目标是Edge从现在开始是“活的”文档模式,并且不会再引入其他文档模式。

随着Microsoft Edge中的更改在大多数情况下不再支持文档模式,Microsoft有一个 工具 扫描您的网站以检查它是否具有与Edge不兼容的代码。

Chrome = 1 Info的IE

还有 chrome=1 您可以使用或与上述选项之一一起使用,例如: <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">chrome=1 适用于Google的Chrome Frame,定义为:

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

Google Chrome Frame可无缝增强您在Internet Explorer中的浏览体验。它使用Google Chrome的渲染技术显示支持Google Chrome Frame的网站,让您可以访问最新的HTML5功能以及Google Chrome的性能和安全功能,而不会以任何方式中断您常用的浏览器使用情况。

安装Google Chrome浏览器内嵌框架后,无需考虑即可让网络变得更好。

但是要使插件工作,你必须使用 chrome=1 在里面 X-UA-Compatible 元标记。

有关Chrome Frame的更多信息,请参阅 这里

注意: Google Chrome Frame仅适用于 IE6到IE9,并于2014年2月25日退休。可以找到更多信息 这里。感谢@mck的链接。

验证:

HTML5

该页面将使用 W3验证器 只有在使用时 <meta http-equiv="X-UA-Compatible" content="IE=Edge">。对于其他值,它将抛出错误: A meta element with an http-equiv attribute whose value is X-UA-Compatible must have a content attribute with the value IE=edge. 换句话说,如果你有 IE=edge,chrome=1 它不会验证。我完全忽略了这个错误,因为现代浏览器只是忽略了这行代码。

如果您必须拥有完全有效的代码,请考虑通过设置HTTP标头在服务器级别执行此操作。作为一个说明,微软说, If both of these instructions are sent (meta and HTTP), the developer's preference (meta element) takes precedence over the web server setting (HTTP header).  看到 olibre的回答 要么 bitinn的回答 有关如何设置HTTP标头的更多详细信息。

XHTML

使用时验证没有问题 <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 只要标签正确关闭(即 /> VS >)。

Twitter Bootstrap

自至少2014年以来,Bootstrap团队一直强烈推荐此标签 Bootlint,由twbs团队撰写的linter继续抛出一个 警告 当标记被省略时。 linter区分警告和错误,因此省略此标记的严重性可能被认为是次要的。


有关的更多信息 X-UA-Compatible 看微软的 网站定义文档兼容性

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

有关Twitter Bootstrap要求的更多信息,请参阅bootlint项目 维基页面


1466
2017-07-21 05:22



如果我在标题中没有“X-UA-Compatible”,会发生什么? - Morgan Cheng
基本上会发生什么,当你有X-UA-Compatible它告诉IE如何表现你所设置的值(IE =边缘等)如果它不存在IE将向网站显示它认为最好应该如何显示。这可能是兼容模式,也可能是IE的最新版本。无论微软/ IE认为什么是最好的。合理? - L84
@TravisJ - 从我的理解中可用的最高模式基本上意味着IE 8可以支持最多IE8模式,IE9可以支持IE9模式等等。我为Microsoft提供的每种模式添加了一些定义。 - L84
@AdrienBe - 我完全同意!到目前为止IE 10对我来说是最好的,但我鄙视任何其他版本。有一次我有一个页面设置,其中一些效果约200-300行HTML和约20分钟的编码。为了让IE工作,我不得不添加另外1000行代码(主要是第三方javascript)和2-3小时的工作!我真的很讨厌IE => - L84
Google Chrome Frame将于2014年1月停用: blog.chromium.org/2013/06/retiring-chrome-frame.html - mck


使用 content="IE=edge,chrome=1" 跳过其他 X-UA-Compatible 模式

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
                                   -------------------------- 
  • 没有兼容性图标 
    IE9地址栏没有出现 兼容性查看按钮 
     并且该页面也不会显示混乱的不合适的菜单,图像和文本框。

  • 特征 
     启用此元标记 javascript::JSON.parse() 在IE8上
    (即使是 <!DOCTYPE html> 存在)

  • 正确性 
     渲染/执行现代HTML / CSS / JavaScript更有效(更好)。

  • 性能 
     该 三叉戟渲染引擎 应该跑得更快 边缘 模式。


用法

在你的HTML中

<!DOCTYPE html> 
<html> 
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  • IE=edge 意味着IE应该使用其渲染引擎的最新(边缘)版本
  • chrome=1 意味着IE应该使用 Chrome渲染引擎 如果安装

或者更好地配置Web服务器:
(另见 RiaD的答案

  • 阿帕奇 正如提议的那样 pixeline

    <IfModule mod_setenvif.c>
      <IfModule mod_headers.c>
        BrowserMatch MSIE ie
        Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
      </IfModule>
    </IfModule>
    <IfModule mod_headers.c>
      Header append Vary User-Agent
    </IfModule>
    
  • Nginx的 正如提议的那样 Stef Pause

    server {
      #...
      add_header X-UA-Compatible "IE=Edge,chrome=1";
    }
    
  •  代理人提议的 Lucas Riutzel

    sub vcl_deliver {
      if( resp.http.Content-Type ~ "text/html" ) {
        set resp.http.X-UA-Compatible = "IE=edge,chrome=1";
      }
    }
    
  • IIS (自v7起)

    <configuration>
      <system.webServer>
         <httpProtocol>
            <customHeaders>
               <add name="X-UA-Compatible" value="IE=edge,chrome=1" />
            </customHeaders>
         </httpProtocol>
      </system.webServer>
    </configuration>
    

微软推荐 边缘模式 自IE11以来

正如所注意到的 林达 (见评论), IE11中的兼容性更改 建议 边缘模式

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

但微软的立场并不清楚。 另一个 MSDN页面不推荐 边缘模式

由于边缘模式强制在标准模式下打开所有页面,   无论Internet Explorer的版本如何,   您可能很想将此用于使用Internet Explorer查看的所有页面。   不要这样做,因为 X-UA-Compatible 标头仅支持启动   使用Windows Internet Explorer 8。

相反,微软推荐使用 <!DOCTYPE html>

如果要打开所有受支持的Internet Explorer版本   您的页面在标准模式下,使用HTML5文档类型声明[...]

里卡多 解释(在下面的评论中)任何DOCTYPE(HTML4,XHTML1 ......)都可用于触发标准模式,而不仅仅是HTML5的DOCTYPE。重要的是始终在页面中有一个DOCTYPE。

克拉拉奥纳格 甚至在旧版本中注意到了 指定旧文档模式

边缘模式仅用于测试目的;   不要在生产环境中使用它。

这太令人困惑了 Usman Y. 思想 克拉拉奥纳格 在谈论:

[...]示例仅供说明之用;   不要在生产环境中使用它。

<meta http-equiv="X-UA-Compatible" content="IE=7,9,10" >

嗯......在这个答案的其余部分,我给出了更多解释为何使用 content="IE=edge,chrome=1" 是一种很好的生产实践。


历史

多年(2000年至2008年), IE市场份额超过80%。和IE V6 被认为是一个 事实上 标准(80%至97%的市场份额) 20032004年,2005年和2006年 仅适用于IE6,所有IE版本的市场份额更多)。

因为IE6不尊重 网络标准,开发者  使用IE6测试他们的网站。对于微软(MS)来说,这种情况非常好,因为Web开发人员必须这样做 购买 MS产品(例如IE不能在没有购买Windows的情况下使用),并且保持不合规(即微软希望成为  标准不包括其他公司)。

因此,许多网站仅符合IE6标准,并且由于IE不符合Web标准,所有这些网站在符合标准的浏览器上都没有很好地呈现。更糟, 许多网站只需要IE

然而,在这个时候,Mozilla开始了Firefox开发,尽可能地尊重所有Web标准(其他浏览器实现了IE6渲染页面)。随着越来越多的Web开发人员想要使用新的Web标准功能,越来越多的网站受到Firefox的支持而不是IE。

当IE市场份额下降时,MS意识到保持标准不兼容并不是一个好主意。因此MS开始发布新的IE版本(IE8 / IE9 / IE10),越来越多的Web标准。


网络不兼容的问题

但问题是为IE6设计的所有网站:微软无法发布与这些旧的IE6设计网站不兼容的新IE版本。 MS没有设计网站的IE版本,而是要求开发人员添加额外的数据(X-UA-Compatible)在他们的页面。

IE6仍在2016年使用

如今,IE6仍在使用 (2016年0.7%) (2014年1月为4.5%),部分互联网网站仍然符合IE6标准。一些Intranet网站/应用程序使用IE6进行测试。某些Intranet网站仅在IE6上100%正常运行。这些公司/部门倾向于推迟迁移成本:其他优先事项,没有人不再知道网站/应用程序是如何实现的,遗留网站/应用程序的所有者破产了......

中国占2013年IE6使用量的50%,但在未来几年可能会发生变化 正在播放中文Linux发行版

对您的网络技能充满信心

如果您(尝试)尊重Web标准,您可以随时使用 http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"。要保持与旧浏览器的兼容性,请避免使用最新的Web功能:使用您要支持的最旧浏览器支持的子集。或者如果你想更进一步,你可以采用概念 优雅的退化渐进式增强 和 不引人注目的JavaScript。 (您可能也很高兴阅读 Web开发人员应该考虑什么?。)

不要关心最好的IE版本渲染:这不是你的工作,因为浏览器必须符合web标准。因此,如果您的网站符合标准并使用适度的最新功能 浏览器必须符合您的网站

此外,由于有很多活动  IE6(IE6不再MS广告系列),现在你可以避免浪费时间进行IE测试!

个人IE6体验

在2009 - 2012年,我在一家公司工作,使用IE6作为 允许官方单一浏览器。我不得不为IE6实现一个Intranet网站。我决定尊重Web标准,但使用支持IE6的子集(HTML / CSS / JS)。

这很难,但是当公司改用IE8时,网站仍然很好,因为我曾经使用过Firefox和 萤火虫 检查Web标准兼容性;)


312
2018-01-20 13:55



'边缘模式仅用于测试目的;不要在生产环境中使用它。看到 msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx - Carl Onager
请@ClaraOnager花一些时间来解释我的答案中的错误(从您的角度来看)。即使MS不推荐使用 边缘模式 在生产环境中,有充分的理由在生产环境中使用它。从技术上澄清我们的最佳实践非常重要。我喜欢分享我的知识和经验。我也希望你。我们可以一起改进;)干杯 - olibre
嗨@Ricardo,我同意你的看法。微软说 “如果您希望所有受支持的Internet Explorer版本以标准模式打开您的页面,请使用HTML5 [...]” 在该部分 了解遗留文档模式 (见 小费)。也许我的解释不清楚......也许我误解了一些事情......我改变了我的文字......你怎么看待我的改变?你还好吗?你有什么建议在我的回答中改变/改进?感谢您的反馈意见。干杯;-) - olibre
@ClaraOnager ...在您的第一个答案中,您在参考页面中指向错误.MS表示不在生产环境中使用:<meta http-equiv =“X-UA-Compatible”content =“IE = 7, 9,10“>不是其他Edge的东西。 - Usman Y
关于在生产环境中使用的边缘模式。来自微软: Starting with IE11, edge mode is the preferred document mode; it represents the highest support for modern standards available to the browser. - L84


不同的是,如果你只指定了 DOCTYPE,IE的 兼容性视图设置 取得优先权。默认情况下,这些设置会强制所有Intranet站点进入兼容性视图 DOCTYPE。还有一个复选框,可以为所有网站使用兼容性视图,无论如何 DOCTYPE

IE Compatibility View Settings dialog

X-UA-Compatible 覆盖兼容性视图设置,因此无论浏览器设置如何,页面都将以标准模式呈现。这迫使标准模式:

  • 内联网页面
  • 当计算机管理员选择“在兼容性视图中显示所有网站”作为默认大型公司,政府,大学时,外部网页
  • 当你无意中最终结果 Microsoft兼容性视图列表
  • 用户已将您的网站手动添加到兼容性视图设置中的列表的情况

DOCTYPE孤军无法做到;无论如何,在这些情况下,您将最终处于兼容性视图模式之一 DOCTYPE

如果两者都有 meta 指定了标签和HTTP标头 meta 标签优先。

这个答案是基于检查决定文档模式的完整规则 IE8IE9,和 IE10。注意看着 DOCTYPE 是决定文档模式的最后一个后备。


52
2018-03-25 19:57



在Intranet方案中,默认情况下IE10以兼容模式呈现。请参阅stackoverflow.com/questions/13284083 / .... Internet上默认不需要此标记,但在使用时需要(默认情况下) myintenralserver / MYAPP 。我想添加此评论,因为互联网与内联网的差异只能从屏幕截图中的文字中清楚,而不是在页面上任何答案的文本中。 - yzorg
你是对的,我应该更加清楚。我重写了这篇文章;让我知道是否还有其他问题需要解决。谢谢! - andrewdotn
谢谢!这个答案比关于内部网站点的其他答案更清晰。其他答案进入技术细节,了解原因和方法。我讨厌MS IE。同样好的写作:一个段落清楚地表明我们为什么需要元标记。布拉沃 - Aniket Inge
我希望我可以百分之百地回答这个问题。拯救生命的屏幕就在那里。我输入血压降低...... - EvilDr
太棒了真棒!非常感谢你的回答。 - Seanosapien


使用此命令强制IE隐藏地址栏中恼人的浏览器兼容性按钮:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

24
2018-02-13 09:25



'边缘模式仅用于测试目的;不要在生产环境中使用它。看到 msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx - Carl Onager
为了好的衡量,我使用 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 随着 chrome=1 指令因此它提示IE6,7,8用户安装/使用 Chrome框架。甚至 HTML5 Boilerplate 使用它。 - Ricardo Zea
@ClaraOnager虽然微软说过,但并不一定意味着他们是对的。我用过 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 从它出来的那一天起就没有问题了。实际上,我已经通过让用户的IE使用其最新的引擎来渲染我们构建的页面,已经为我的团队和自己节省了数百个麻烦。与您和Microsoft相反,我建议每个人都使用上面的元标记 每次。只要IE还在,我们就会“被迫”使用这个元标记:p - Ricardo Zea
IE11已经改变了。这个版本在遵循官方标准的情况下对浏览器世界采取了戏剧性的举措。它已经走向极端,甚至没有将自己标识为Internet Explorer!现在它说它是“网景”并且不包括浏览器信息中的任何内容以泄露它的真实身份。如果您仍然在此版本的IE浏览器中遇到任何怪癖,您需要通过设置强制它进入IE10 <meta http-equiv="X-UA-Compatible" content="IE=10">。然后它将自己报告为Microsoft Internet Explorer。 - awe
面对同样的相关问题,如果有人可以帮助我: stackoverflow.com/questions/22013880/... - dsi


由于我无法在标记的答案中添加评论,我将在此处发布。

除了正确的答案,您确实可以通过验证。由于此元标记仅针对IE,因此您需要做的是添加IE条件。

<!--[if IE]>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<![endif]-->

这样做就像添加任何其他IE条件语句一样,只适用于IE,不会影响其他浏览器。


22
2018-06-15 14:38



不应使用条件注释除了针对<= IE9的HTML目标。 (即使写了这个答案,这也是如此) - EKW


我认为微软的这张图解释了所有。为了告诉IE如何呈现内容,!DOCTYPE必须使用X-UA-Compatible元标记。 !DOCTYPE本身对更改IE文档模式没有影响。

enter image description here

http://ie.microsoft.com/testdrive/ieblog/2010/Mar/02_HowIE8DeterminesDocumentMode_3.png


12
2017-11-05 19:40



这是包含IE9的更新版本。我的天啊... ie.microsoft.com/testdrive/ieblog/2010/Jun/... - Spiralis
这一个包括IE10: msdn.microsoft.com/en-us/library/ff406036%28v=vs.85%29.aspx  不同的章节有各自独立的流程图...... - Spiralis
你误读了那个流程图。在缺乏X-UA兼容的情况下,浏览器将寻找<!DOCTYPE>。如果找到一个,它将以标准模式(又名“EmulateIE8”)呈现。如果没有,则恢复为“Quirks Mode”。 - Chuck Le Butt


为了完整起见,您实际上不必将其添加到HTML(HTML5中未知的http-equiv)

做到这一点,永远不要回头(第一个例子为 阿帕奇,第二个 nginx的

Header set X-UA-Compatible "IE=Edge,chrome=1"

add_header X-UA-Compatible "IE=Edge,chrome=1";

11
2018-02-27 07:11



??这意味着“X-UA兼容”在HTML 5中不起作用? - Huei Tan
@HueiTan - 我认为海报说当你尝试使用时验证页面 W3验证器 它会抛出一个错误: Bad value X-UA-Compatible for attribute http-equiv on element meta.  - 这并不意味着它不起作用。它只是无效的代码。 - L84


<meta http-equiv="X-UA-Compatible" content="IE=Edge">

要使此行按预期工作,请确保:

  1. 它是紧随其后的第一个元素 <head>
  2. 没有 条件评论 在元标记之前使用,例如: G。在...上 <html> 元件

否则一些IE版本会忽略它。

UPDATE

这两条规则已经过简化,但很容易记住和验证。尽管MSDN文档声明您可以在此之前放置标题和其他元标记,但我不建议这样做。

如何使用条件注释。

关于头部元素顺序的有趣文章。 (blogs.msdn.com,适用于IE)

参考

来自 MSDN文档

X-UA-Compatible [...]必须出现在网页的标题中(HEAD部分)   除了title元素和其他元元素之外的所有其他元素之前。


7
2017-09-17 14:03





如果您在与IE喜欢切换到的服务器相同的网络中使用您的网站 兼容模式 尽管DOCTYPE。
添加 meta http-equiv="X-UA-Compatible" content="IE=Edge"  禁用 这种不必要的行为


4
2018-03-22 15:07



“与服务器相同的网络”的另一个词是内联网...因此,默认情况下,所有内部网站点的IE10都被打破。请参阅@AndrewNeitsch答案中的截图。 - yzorg