web-dev-qa-db-ja.com

IE互換モード: 'X-UA-Compatible'タグ 'Edge'

私はこれを<head>

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

IEの最新のレンダリングモードを強制しますが、互換モードは最後のモードと見なされますか?

たとえば、このコードをIE8で使用すると、IE8またはIE8互換モードを使用するように強制されますか?

56
Jonathan

そのタグは、ブラウザがサポートする最新のレンダリングモードをブラウザに強制的に使用させようとします。互換モードはトリガーされません。

タグは、先頭の最初のタグである必要があります。そうしないと機能しません。 HTTPヘッダーの順序は重要ではないため、この事実は、可能であればHTTPヘッダーの使用を優先します。

ヘッダーまたはメタタグを使用したときにブラウザーが引き続き互換モードになった場合、次のいずれかが原因である可能性があります。

  • 正しいDoctypeがありません
  • ブラウザは常に互換モードを使用するように設定されています
  • サイトが「イントラネットサイト」でホストされ、イントラネットサイトのデフォルト設定が設定されている

ブラウザの互換表示設定の変更

Microsoftは、少なくとも192.168.x.xが「イントラネットサイト」にあると考えています。 IE8/IE9のイントラネットサイトのデフォルトでは、互換モードが使用されます。プログラマはこのメタタグを使用してもこのオプションをオーバーライドできないため、多くのビジネスアプリケーションにとって大きな問題です。 (「互換表示でのイントラネットサイトの表示」は、メタタグまたはhttpヘッダーで上書きできません。この場合、ブラウザは互換表示を完全に制御できます)

Compatibility View Settings

このメタタグまたはHTTPヘッダーを常に追加しますか?

このメタタグの使用に関するもう1つの良い点は、ブラウザのアドレスバーから「互換表示」アイコンが削除されていることです。少なくともユーザーは、そのボタンを使用してレンダリングモードを決定できません。

63
oldwizard

[互換表示でイントラネットサイトを表示する]オプションをオフにして、応答ヘッダーにX-UA-Compatibleが含まれている場合でも、ブラウザがデフォルトで[互換表示]になっている別の理由があります-グループポリシー。コンソールで次のメッセージを確認してください。

HTML1203:xxx.xxxは、グループポリシーを通じて互換表示で実行するように構成されています。

ここで、xxx.xxxはサイトのドメイン(test.comなど)です。これが表示される場合、ドメインのグループポリシーが設定されているため、test.comで終わるサイトは、doctype、ヘッダーなどに関係なく、互換モードで自動的にレンダリングされます。

詳細については、次のリンクを参照してください(htmlコードの説明): http://msdn.Microsoft.com/en-us/library/ie/hh180764(v = vs.85).aspx =

2
rshadman

私は専門家ではありませんが、試行錯誤によって:

<meta http-equiv="X-UA-Compatible" content="IE=8, IE=9, IE=Edge"/>

私のために問題を解決しました。これをWebサイトとwebappsで使用すると、IE8が互換モードに移行できなくなり、IE10およびIE11で「標準」として表示されました。

0
MelanieMenard