<meta http-equiv =“ X-UA-Compatible” content =“ IE = edge”>は何をしますか?


1437

1つのWebページがで始まる場合の違いは何ですか

<!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バージョンで最も標準的なモードでレンダリングされるようにしたいだけなので、メタヘッダーを無視してもかまいません。

回答:


1703

2015年10月の更新

この回答は数年前に投稿されましたが、今、質問は本当にあなたのサイトでタグを使用することを検討すべきですX-UA-Compatibleか?Microsoftがブラウザに加えた変更(詳細は以下を参照)。

サポートしているMicrosoftブラウザーによっては、X-UA-Compatibleタグを使い続ける必要がない場合があります。IE9またはIE8をサポートする必要がある場合は、タグの使用をお勧めします。最新のブラウザー(IE11またはEdge、あるいはその両方)のみをサポートしている場合は、このタグを完全に削除することを検討します。Twitter Bootstrapを使用していて、検証警告を排除する必要がある場合、このタグは指定された順序で出現する必要があります。以下の追加情報:


X-UA-Compatibleメタタグは、ウェブ制作者は、ページは次のようにレンダリングされるべきかのInternet Explorerのバージョンを選択することができます。IE11はこれらのモードに変更を加えました。下記のIE11の注記を参照してください。IE11に代わるブラウザであるMicrosoft Edgeは、X-UA-Compatible特定の状況でのみメタタグを尊重します。以下のMicrosoft Edgeのメモを参照してください。

Microsoftによると、X-UA-Compatibleタグを使用するときは、ドキュメント内で可能な限り高くする必要がありますhead

X-UA互換のMETAタグを使用している場合は、ページのHEADの上部にできるだけ近い位置に配置する必要があります。Internet Explorerは、最新バージョンを使用してマークアップの解釈を開始します。Internet ExplorerがX-UA互換のMETAタグを検出すると、指定されたバージョンのエンジンを使用してやり直します。ブラウザはコンテンツの分析を停止して再開する必要があるため、これはパフォーマンスへの影響です。

オプションは次のとおりです。

  • 「IE = edge」
  • 「IE = 11」
  • 「IE = EmulateIE11」
  • 「IE = 10」
  • 「IE = EmulateIE10」
  • 「IE = 9」
  • 「IE =エミュレートIE9
  • 「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モードでも表示されます。InternetExplorerは、さまざまな機能を有効にし、コンテンツの表示方法に影響を与える可能性のあるドキュメント互換モードをいくつかサポートしています。

  • IE11モードは、HTML5、CSS3などを含む、確立された新しい業界標準で利用できる最高のサポートを提供します。

  • IE10モードは、HTML5、CSS3などを含む、確立された新しい業界標準で利用可能な最高のサポートを提供します。

  • IE9モードは、HTML5(草案)、W3Cカスケードスタイルシートレベル3仕様(草案)、Scalable Vector Graphics(SVG)1.0仕様などを含む、確立された新しい業界標準で利用可能な最高のサポートを提供します。[編集者注:IE 9 CSS3アニメーションをサポートしていません ]。

  • IE8モードは、W3Cカスケードスタイルシートレベル2.1仕様やW3CセレクターAPIなど、確立された多くの標準をサポートしています。また、W3Cカスケードスタイルシートレベル3仕様(草案)およびその他の新しい標準に対する限定的なサポートも提供します。

  • IE7モードでは、ページにディレクティブが含まれているかどうかに関係なく、コンテンツがInternet Explorer 7によって標準モードで表示されたかのようにレンダリングされます。

  • IE9エミュレートモードは、ディレクティブを使用してコンテンツのレンダリング方法を決定するようにInternet Explorerに指示します。標準モードディレクティブはIE9モードで表示され、互換モードディレクティブはIE5モードで表示されます。IE9モードとは異なり、エミュレートIE9モードはディレクティブを尊重します。

  • IE8エミュレートモードは、ディレクティブを使用してコンテンツのレンダリング方法を決定するようにInternet Explorerに指示します。標準モードディレクティブはIE8モードで表示され、互換モードディレクティブはIE5モードで表示されます。IE8モードとは異なり、エミュレートIE8モードはディレクティブを尊重します。

  • IE7エミュレートモードは、ディレクティブを使用してコンテンツのレンダリング方法を決定するようにInternet Explorerに指示します。標準モードディレクティブはInternet Explorer 7標準モードで表示され、互換モードディレクティブはIE5モードで表示されます。IE7モードとは異なり、エミュレートIE7モードはディレクティブを尊重します。多くのWebサイトでは、これが推奨される互換モードです。

  • IE5モードでは、コンテンツがInternet Explorer 7によって互換モードで表示されたかのようにレンダリングされます。これは、Microsoft Internet Explorer 5でコンテンツが表示された方法と非常に似ています。

IE10注: IE10以降、互換モードは以前のバージョンのブラウザーとは異なる動作をします。IE9以前のバージョンでは、quirksモードにより、WebページがIE5.5でサポートされている機能に制限されていました。IE10では、互換モードはHTML5仕様で指定された違いに準拠しています。

個人的には、http-equiv="X-UA-Compatible" content="IE=edge"古いバージョンには多くのバグがあるため、常にメタタグを選択します。IEが「互換モード」に移行して、サイトをIE7またはIE8または9として表示することを望まないので、常に最新バージョンを好むIE。

IE11

Microsoftから:

IE11以降、エッジモードが推奨されるドキュメントモードです。これは、ブラウザーで使用できる最新の標準に対する最高のサポートを表しています。

HTML5ドキュメントタイプ宣言を使用して、エッジモードを有効にします。

<!doctype html>

エッジモードはInternet Explorer 8で導入され、以降の各リリースで使用できます。エッジモードでサポートされる機能は、コンテンツをレンダリングするブラウザーの特定のバージョンでサポートされる機能に限定されることに注意してください。

IE11から、ドキュメントモードは非推奨になり、一時的な場合を除いて使用できなくなりました。レガシー機能とドキュメントモードに依存するサイトは、最新の標準を反映するように更新してください。

最新の標準と機能をサポートするようにサイトを修正している間、サイトが機能するように特定のドキュメントモードをターゲットにする必要がある場合は、移行機能を使用していることに注意してください。

現在x-ua互換ヘッダーを使用してレガシードキュメントモードをターゲットに設定している場合、サイトがIE11で利用可能な最高のエクスペリエンスを反映していない可能性があります。

Microsoft Edge(Windows 10にバンドルされているInternet Explorerの代替品)

X-UA-CompatibleIEの「エッジ」バージョンのメタタグに関する情報。マイクロソフトから

「生きている」エッジドキュメントモードの紹介

2013年8月に発表したように、IE11ではドキュメントモードを廃止します。最新のプラットフォームの更新により、レガシードキュメントモードの必要性は、主にエンタープライズレガシーWebアプリに限定されています。新しいアーキテクチャの変更により、これらのレガシードキュメントモードは、「生きている」エッジモードでの変更から分離されます。これにより、これらのモードに依存しているお客様にはるかに高いレベルの互換性を保証し、Edgeの改善をさらに迅速に進めることができます。 。IEは引き続き、イントラネットサイト、互換表示リストのサイト、およびエンタープライズモードでのみ使用される場合に提供されるドキュメントモードを受け入れます。

パブリックインターネットサイトは、新しいエッジモードプラットフォームでレンダリングされます(X-UA互換は無視されます)。Edgeがこれからの「生きている」ドキュメントモードであり、今後ドキュメントモードが導入されないことが私たちの目標です。

ほとんどの場合、ドキュメントモードをサポートしないようにMicrosoft Edgeが変更されたため、Microsoftはサイトをスキャンして、Edgeと互換性のないコードがあるかどうかを確認するツールを備えています。

IEのChrome = 1情報

またchrome=1、上記のオプションのいずれかと組み合わせて使用​​したり、使用したりできることもあります<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">chrome=1次のように定義されるGoogleのChrome Frame用です。

Google Chrome Frameは、オープンソースのブラウザプラグインです。プラグインがインストールされているユーザーは、ブラウザでページを開くと、Google Chromeのオープンウェブテクノロジーと高速JavaScriptエンジンにアクセスできます。

Google Chrome Frameは、Internet Explorerでのブラウジングエクスペリエンスをシームレスに強化します。Google Chromeのレンダリングテクノロジーを使用してGoogle Chrome Frame対応のサイトを表示し、通常のブラウザーの使用を中断することなく、最新のHTML5機能とGoogle Chromeのパフォーマンスおよびセキュリティ機能にアクセスできます。

Google Chrome Frameをインストールすると、Webを意識することなく、より快適になります。

ただし、そのプラグインが機能するにchrome=1は、X-UA-Compatibleメタタグで使用する必要があります。

Chrome Frameの詳細については、こちらをご覧ください

注: Google Chrome FrameはIE6〜IE9でのみ機能し、2014年2月25日に廃止されまし。詳細については、こちらをご覧ください。リンクをありがとう@mck。

検証:

HTML5

ページは、を使用する場合にのみ、W3 Validatorを使用して検証します<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ブートストラップ

このタグは強く、少なくとも2014年以来、ブートストラップチームによって推奨されている、とBootlint、リンターはtwbsチームによって作成投げ続けて警告タグが省略されています。リンターは警告とエラーを区別するため、このタグを省略した場合の重大度は軽微と見なされます。


詳細についてX-UA-Compatibleは、MicrosoftのWebサイトのドキュメントの互換性の定義を参照してください。

IEがサポートする機能の詳細については、caniuse.comを参照してください。

Twitter Bootstrap要件の詳細については、bootlintプロジェクトのWikiページを参照してください


40
ヘッダーに「X-UA-Compatible」がない場合、どうなりますか?
モーガンチェン

45
基本的に何が起こるかは、X-UA-Compatibleがある場合に、設定された値(IE = edgeなど)に関してどのように動作するかをIEに通知します。 。これは互換モードか、IEの最新バージョンである可能性があります。Microsoft / IEが何を考えても最高です。理にかなっていますか?
L84

2
@TravisJ-私の理解から、利用可能な最高のモードは基本的にIE 8がIE8モードまで、IE9がIE9モードなどをサポートできることを意味します。Microsoftが提供する各モードの定義をいくつか追加しました。
L84 2012

10
@AdrienBe-私は完全に同意します!これまでのところ、IE 10が最高でしたが、他のバージョンは軽視しています。かつて、HTMLの約200〜300行と約20分のコーディングを伴うページ設定を行ったことがあります。IEを機能させるには、さらに1,000行のコード(ほとんどがサードパーティのJavaScript)と2〜3時間の作業を追加する必要がありました。IEは本当に嫌いです=>
L84 2013年

9
Google Chrome Frameは2014年1月に廃止されます:blog.chromium.org/2013/06/retiring-chrome-frame.html
mck

339

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=1IEがインストールされている場合、Chromeレンダリングエンジンを使用する必要があることを意味します

または、Webサーバーの構成を改善する:
RiaDの回答も参照してください)

  • pixelineによって提案された Apache

    <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>
    
  • Stef Pauseによって提案された Nginx

    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>
    

MicrosoftはIE11以降、エッジモードを推奨しています

Lyndaが気づいたように(コメントを参照)、IE11互換性の変更でエッジモードが推奨されています

IE11以降、エッジモードが推奨されるドキュメントモードです。これは、ブラウザーで使用できる最新の標準に対する最高のサポートを表しています。

しかし、マイクロソフトの立場は明確ではなかった。別のMSDNページでは、エッジモードは推奨されていません

エッジモードでは、Internet Explorerのバージョンに関係なく、すべてのページが標準モードで開かれるため、これをInternet Explorerで表示されるすべてのページに使用したくなるかもしれません。X-UA-CompatibleヘッダーはWindows Internet Explorer 8以降でのみサポートされているため、これを行わないでください。

代わりに、Microsoftは次の使用を推奨しました<!DOCTYPE html>

サポートされているすべてのバージョンのInternet Explorerで標準モードでページを開く場合は、HTML5ドキュメントタイプ宣言を使用してください[...]

以下のようリカルドは、(下記のコメントで)説明して任意のDOCTYPE(HTML4、XHTML1 ...)トリガー標準モード、HTML5のDOCTYPEないだけに使用することができます。重要なことは、ページに常にDOCTYPEがあることです。

Clara Onagerは、レガシードキュメントモード指定の古いバージョンにも気づいています

エッジモードは、テストのみを目的としています。本番環境では使用しないでください。

とても混乱しているので、ウスマンYクララオナガーが次のように話していると思った。

[...]の例は、説明のみを目的として提供されています。本番環境では使用しないでください。

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

ええと...この回答の残りの部分でcontent="IE=edge,chrome=1"は、なぜプロダクションで使用することが良い習慣であるかについて、さらに説明します。


歴史

長年(2000年から2008年)、IEの市場シェアは80%以上でした。また、IE v6事実上の標準(2003年2004年、2005年、2006年のIE6のみで80〜97 %の市場シェア、すべてのIEバージョンでより多くの市場シェア)と見なされました。

IE6はWeb標準を尊重していなかったため、開発者 IE6を使用してWebサイトをテストする必要がありました。Web開発者はMS製品を購入する必要があり(IEはWindowsを購入しないと使用できません)、非準拠を維持する方が利益を生むため、Microsoft(MS)にとってその状況は素晴らしいものでした(つまり、Microsoftは他のものを除い標準になることを望んでいました)会社)。

したがって、多くの多くのサイトはIE6にのみ準拠しており、IEはWeb標準に準拠していなかったため、これらすべてのWebサイトは標準に準拠したブラウザーで適切にレンダリングされませんでした。さらに悪いことに、多くのサイトではIEのみが必要でした

ただし、現時点では、Mozillaは可能な限りすべてのWeb標準を尊重してFirefoxの開発を開始しました(IE6で行われるようにページをレンダリングするために他のブラウザーが実装されました)。新しいWeb標準機能の使用を希望するWeb開発者が増えるにつれ、FirefoxがIEよりもサポートするWebサイトが増えました。

IEの市場シェアが減少しているとき、MSは互換性のない標準を維持することは良い考えではないことに気付きました。そのため、MSはWeb標準をますます尊重する新しいIEバージョン(IE8 / IE9 / IE10)のリリースを開始しました。


Web互換性のない問題

しかし、問題はIE6用に設計されたすべてのWebサイトにあります。Microsoftは、これらの古いIE6設計のWebサイトと互換性のない新しいIEバージョンをリリースできませんでした。Webサイトが設計されているIEのバージョンを推測する代わりに、MSは開発者にX-UA-Compatibleページにデータ()を追加するように要求しました。

IE6は2016年も使用されています

現在、IE6は引き続き使用され(2016年には0.7%)(2014年1月には4.5%)、一部のインターネットWebサイトはIE6のみに準拠しています。一部のイントラネットWebサイト/アプリケーションは、IE6を使用してテストされています。一部のイントラネットWebサイトは、IE6でのみ100%機能します。これらの企業/部門は、移行コストを延期することを好みます。他の優先事項、Webサイト/アプリケーションがどのように実装されたかを誰も知らない、レガシーWebサイト/アプリケーションの所有者が破産した...

2013年のIE6の使用量の50%が中国ですが中国のLinuxディストリビューションが放送されているため、今後数年間で変化する可能性があります。

あなたのウェブスキルに自信を持ってください

Web標準を尊重する(しようとする)場合は、いつでもを使用できますhttp-equiv="X-UA-Compatible" content="IE=edge,chrome=1"。古いブラウザとの互換性を維持するには、最新のWeb機能を使用しないでください。サポートする最も古いブラウザでサポートされているサブセットを使用してください。または、さらに進めたい場合は、優雅な低下プログレッシブ拡張控えめなJavaScriptなどの概念を採用できます。(Web開発者は何を考慮すべきですか?を読むこともできます。)

ブラウザーがWeb標準に準拠している必要があるため、IEバージョンの最適なレンダリングを気にしないでください。サイトが標準に準拠し、適度に最新の機能を使用している場合、ブラウザはWebサイトに準拠している必要があります

さらに、IE6 を殺すための多くのキャンペーン(IE6はもうMSキャンペーン)があるので、今日では、IEテストで時間を無駄にすることを避けることができます!

パーソナルIE6エクスペリエンス

2009〜2012年は、IE6を公式の単一ブラウザーとして許可する会社で働いていました。IE6のみのイントラネットWebサイトを実装する必要がありました。私はWeb標準を尊重することを決めましたが、IE6対応のサブセット(HTML / CSS / JS)を使用しました。

大変でしたが、会社がIE8に切り替えたとき、FirefoxとFirebugを使用してWeb標準の互換性を確認していたため、Webサイトは引き続き適切にレンダリングされました;)


2
'エッジモードは、テストのみを目的としています。本番環境では使用しないでください。」msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspxを
Carl Onager

5
@ClaraOnagerが私の回答のどこが悪いのかを説明するために少し時間を取ってください(あなたの観点から)。MSが実稼働環境でEdgeモードの使用を推奨していない場合でも、実稼働環境で使用することには十分な理由があります。ベストプラクティスを技術的に明確にすることが重要です。私は自分の知識と経験を共有したいと思っています。私もあなたを願っています。私たちは一緒に改善できます;)乾杯
olibre 2013

2
こんにちは@リカルド、私はあなたに同意します。Microsoftは、サポートされているすべてのバージョンのInternet Explorerで標準モードでページを開く場合は、レガシードキュメントモードについてセクションのHTML5 [...]を使用するヒントを参照)と述べています。多分私の説明は不明瞭です...多分私は何かを誤解したかもしれません...私は私のテキストを変更しました...私の変更についてどう思いますか?よろしいですか?私の回答の中で変更/改善するためのアドバイスはありますか?ご意見をいただきありがとうございます。乾杯;-)
olibre 2013年

5
@ClaraOnager ...最初の回答では、参照ページで誤って指しています。MSは、次の製品環境では使用しないように言っています:<meta http-equiv = "X-UA-Compatible" content = "IE = 7、 9,10 ">他のEdgeのものではありません。
Usman Younas 2013年

3
本番環境で使用されているエッジモードについて。Microsoftから:Starting with IE11, edge mode is the preferred document mode; it represents the highest support for modern standards available to the browser.
L84

58

違いは、のみを指定した場合DOCTYPE、IEの互換表示設定が優先されることです。既定では、これらの設定により、に関係なく、すべてのイントラネットサイトが互換表示になりDOCTYPEます。に関係なく、すべてのWebサイトに互換表示を使用するためのチェックボックスもありますDOCTYPE

IE互換表示設定ダイアログ

X-UA-Compatible互換表示設定を上書きするため、ブラウザの設定に関係なく、ページは標準モードでレンダリングされます。これにより、標準モードが強制されます。

  • イントラネットページ
  • コンピューター管理者が「互換表示ですべてのWebサイトを表示する」をデフォルトとして選択した場合の外部Webページ-大企業、政府、大学を考えてください
  • 意図せずにMicrosoft互換表示リストに登録されたとき
  • ユーザーが互換表示設定のリストにウェブサイトを手動で追加した場合

DOCTYPEそれだけではできません。これらの場合には、に関係なく、互換表示モードの1つになりますDOCTYPE

両方の場合meta、タグとHTTPヘッダが指定され、metaタグが優先されます。

この回答は、IE8IE9、およびIE10でドキュメントモードを決定するための完全なルールを調べることに基づいています。を見てDOCTYPE、ドキュメントモードを決定するための最後のフォールバックであることに注意してください。


1
イントラネットのシナリオでは、デフォルトでIE10は互換モードでレンダリングされます。stackoverflow.com/questions/13284083/…を参照してください。このタグは、インターネットではデフォルトでは必要ありませんが、myintenralserver / myappを使用する場合は(デフォルトで)必要です。このコメントを追加したかったのは、インターネットとイントラネットの違いはスクリーンショットのテキストからのみ明らかであり、ページ上の回答のテキストでは明確ではなかったためです。
yzorg 2013

あなたは正しい、私はそれについてもっとはっきりしているべきだった。私は投稿を書き直しました。他に対処する必要がある場合はお知らせください。ありがとう!
andrewdotn 2013

ありがとう!この回答は、イントラネットサイトに関する他の回答よりもはるかに明確です。その他の答えは、理由と方法に関する技術的な詳細に含まれます。MS IEが嫌いです。また、適切な記述:メタタグが必要な理由を1つの段落で明確にします。ブラボー
2016

3
私はこの答えを100回賛成できるといいのですが。命を救う画面がすぐそこにあります。これを入力すると血圧が下がる...
EvilDr 2017年

すごいすごいすごい!この回答をありがとうございました。
Seanosapien

25

これを使用して、IEがアドレスバーにある迷惑なブラウザー互換性ボタンを非表示にします。

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

1
'エッジモードは、テストのみを目的としています。本番環境では使用しないでください。」msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspxを
Carl Onager

4
適切な対策として<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">chrome=1ディレクティブを使用して、IE6、7、8のユーザーにChrome Frameのインストール/使用を促しています。HTML5ボイラープレートでさえそれを使用します。
Ricardo Zea 2013年

10
@ClaraOnager Microsoftはそれを言っていますが、必ずしも正しいとは限りません。<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">全く問題なく出たその日から使っています。実際、ユーザーのIEに最新のエンジンを使用して作成したページをレンダリングさせることで、チームと数百の頭痛の種をすでに救っています。あなたとマイクロソフトに反して、私は皆に上記のメタタグを毎回使用することをお勧めします。IEがまだ存在している限り、このメタタグを使用するように「強制」されます:p
Ricardo Zea

これはIE11で変更されました。このバージョンは、公式の標準に従ってブラウザの世界に劇的な動きをしました。それ自体がInternet Explorerであるとさえ認められないほど極端になりました!今ではそれは「ネットスケープ」であり、それを本当のアイデンティティであることを与えるためにブラウザ情報に何も含めていません。このバージョン以降もIEブラウザーで問題が発生する場合は、を設定してIE10に強制する必要があります<meta http-equiv="X-UA-Compatible" content="IE=10">。その後、自身をMicrosoft Internet Explorerとして報告します。
2018年

いずれかが私を助けることができれば、同じ関連する問題に直面して:stackoverflow.com/questions/22013880/...
DSI

25

マークされた回答にコメントを追加することはできないので、ここに投稿します。

正解に加えて、実際にこれを検証することができます。このメタタグはIEのみを対象としているため、IE条件を追加するだけで済みます。

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

これを行うのは、他のIE条件ステートメントを追加するのと同じで、IEでのみ機能し、他のブラウザーは影響を受けません。


4
<= IE9のHTMLをターゲットにする場合を除いて、条件付きコメントを使用しないでください。(これは、この回答が書かれたときでも当てはまりました)
EKW

18

このMicrosoftの図がすべてを説明していると思います。IEにコンテンツのレンダリング方法を伝えるために、!DOCTYPEはX-UA-Compatibleメタタグで動作する必要があります。!DOCTYPE自体は、IEドキュメントモードの変更には影響しません。

ここに画像の説明を入力してください

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


3
IE9を含む更新バージョンは次のとおりです。OMG ... ie.microsoft.com/testdrive/ieblog/2010/Jun/...
spiralisの

3
そして、この1は、IE10が含まれています msdn.microsoft.com/en-us/library/ff406036%28v=vs.85%29.aspx 異なる章が自分の別のフローチャートを持っている...
spiralisの

あなたはそのフロー図を誤って読みました。X-UA-Compatibleがない場合、ブラウザは<!DOCTYPE>を探します。見つかった場合は、標準モードでレンダリングされます(別名 "EmulateIE8")。そうでない場合は、「Quirksモード」に戻ります。
チャックルバット

Stackoverflowに画像をアップロードしていただきありがとうございます。Microsoftへの元のリンクはすべて死んでいます。
Elmue

12

完全を期すために、実際にHTMLに追加する必要はありません(HTML5ではhttp-equivは不明です)。

これを実行し、決して振り返らないでください(最初の例はapache、2番目の例はnginx

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

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

2
@HueiTan- W3 Validatorを使用してページを検証しようとするとエラーがスローされるとポスターが言っていると思います:Bad value X-UA-Compatible for attribute http-equiv on element meta.-これは機能しないことを意味するものではありません。有効なコードではありません。
L84 2014年

10

Internet Explorerに最新のレンダリングエンジンを使用するように指示する一言

<meta http-equiv="x-ua-compatible" content="ie=edge">

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

この行を期待どおりに機能させるには、次のことを確認してください。

  1. 直後の最初の要素です <head>
  2. 要素など、メタタグの前に条件付きコメントを使用しない<html>

そうでない場合、一部のIEバージョンは単にそれを無視します。

更新

これら2つのルールは簡略化されていますが、覚えやすく、確認も簡単です。タイトルやその他のメタタグをこのタグの前に置くことができると述べているMSDNのドキュメントにもかかわらず、私はそうすることをお勧めしません。

条件付きコメントでどのように機能するか。

頭の中の要素の順序についての興味深い記事。(IEの場合は、blogs.msdn.com)

参照

MSDNドキュメントから:

X-UA-Compatible[...] title要素と他のメタ要素を除く他のすべての要素の前に、Webページ(HEADセクション)のヘッダーに表示される必要があります。


5

DOCTYPEにもかかわらず、IEがサーバーと同じネットワークでWebサイトを使用している場合、互換モードに切り替えます
追加meta http-equiv="X-UA-Compatible" content="IE=Edge" すると、この不要な動作が無効になります


「サーバーと同じネットワーク」のもう1つの言葉はイントラネットです。したがって、基本的にIE10はすべてのイントラネットサイトでデフォルトで機能しなくなります。@AndrewNeitschの回答のスクリーンショットを参照してください。
yzorg 2013

3

これは文字通り1つのGoogleクエリですが、次のようになります

http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx

レガシードキュメントモードについて

次の値を使用して、Internet Explorer 6からIE11まで、Internet Explorerでサポートされている最高の標準モードであるエッジモードでWebページを表示します。

<meta http-equiv="x-ua-compatible" content="IE=edge"

なお、これはHTML5のDOCTYPEを使用して機能的に同等であること。Internet Explorerをサポートされている最高のドキュメントモードにします。Edgemostは、Internet Explorerを含む複数のブラウザー間の相互運用性が定期的にテストされる定期的に保守されるWebサイトに最も役立ちます。

IE11以降、エッジモードは優先ドキュメントモードと見なされます。(以前のバージョンでは、実験的と見なされていました。)詳細については、ドキュメントモードのサポートが終了したをご覧ください。Windows Internet Explorer 8以降、一部のWeb開発者はエッジモードメタ要素を使用して、アドレスバーの[互換表示]ボタンを非表示にしました。IE11以降、ボタンがアドレスバーから削除されたため、これは不要になりました。Internet Explorerのバージョンに関係なく、すべてのページを強制的に標準モードで開くため、Internet Explorerで表示されるすべてのページにエッジモードを使用したくなる場合があります。X-UA-CompatibleヘッダーはInternet Explorer 8以降でのみサポートされているため、これを行わないでください。

ヒント サポートされているすべてのバージョンのInternet Explorerでページを標準モードで開く場合は、前の例に示すように、HTML5ドキュメントタイプ宣言を使用します。

また、検索結果の中には:


2

2.1.3.5 X-UA互換メタタグおよびHTTP応答ヘッダー

この機能は、Microsoft Edgeのどのバージョンにも実装されません。

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />

https://msdn.microsoft.com/en-us/library/ff955275(v=vs.85).aspxを参照してください

はい、パーティーに遅れていることはわかっていますが、問題とディスカッションがあっただけで、結局、上司X-UA-Compatibleから、作業中のすべてのドキュメントからタグを削除するように依頼されました。

この情報が古くなっている、または関連性がなくなった場合は、修正してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.