1. ホーム
  2. internet-explorer

[解決済み] X-UA-Compatible IE=Edgeを使う理由は何ですか?

2022-11-20 10:25:14

疑問点

最近、いくつかのオンラインコースを受講していますが、一部の講師がデフォルトでドキュメントのトップに以下のメタタグを追加しているのをまだ見かけます。

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

と同じように重要で有用であるという考え方のようです。 <meta charset="UTF-8"> .

しかし、なぜ?

によると マイクロソフトの Modern.ie のドキュメント これはベスト プラクティスであり、Internet Explorer が最新のエンジンを使用することを保証するものです。OK、十分公平です。

しかし、もしあなたが のフロー図に従うと、MSDN のフロー図を見ると、明らかに X-UA-Compatible 情報がないドキュメントは、ユーザーの "互換表示" 環境設定に転送され、そして もし という が設定されていない場合は、!DOCTYPE 宣言に従えばよい。 .

つまり、ユーザーが何らかの互換表示設定をしていない限りは IE はあなたの !DOCTYPE に従って、とにかくブラウザの最新の標準モードを使用してレンダリングします。 ... は必要ありません。 X-UA-Compatible IE=Edge ステートメントは全く必要ありません。

MSDNにあるように、" エッジモードを有効にするには、HTML5 の文書型宣言を使用します。 "とあります。

では、どのような状況で X-UA-Compatible IE=Edge が必要なのでしょうか?

どのように解決するのですか?

David の回答が指摘しているように、"ローカルイントラネット" ゾーンでサイトをホストしているのでなければ、を含める理由はほとんどないでしょう。 <meta http-equiv="X-UA-Compatible" content="IE=edge"> を含める理由はほとんどありません。 マイクロソフトのベスト プラクティスの推奨では によると)HTMLに含める理由は全くありません。(サーバー設定またはサイト ヘッダーに置くべきで、HTML 自体に置くべきではありません。)

を使用することを検討している場合 X-UA-Compatible を使用することを検討している場合、互換表示機能は IE8、9、および 10 にしか影響しないことを覚えておく必要があります。これは IE8 でのみ導入され、IE11 では無効になっています。

また、IE11 は は現時点で公式にサポートされている唯一の IE のバージョンです。 . それ以前のバージョンはすべて安全でないと考えてください。

もしこれが、使わないことを納得させるのに十分な理由でなかったら、Microsoft が次のように述べていることを考慮してください。 IE8 およびそれ以降では、 が指定されると自動的に標準モードでレンダリングされます。 <!DOCTYPE が存在する場合 が存在する場合、自動的に標準モードでレンダリングされるため、さらに無意味になります。

IE がどの文書モードを使用するかを決定するために取るフローを、あなた自身で見ることができます。

ご覧の通り、もし X-UA-Compatible メタ タグまたは HTTP ヘッダーが存在しない場合、ユーザーの "Compatibility View" 設定を確認します。ユーザーがあなたの Web サイトに対して何も設定していない場合、IE は次に <!DOCTYPE 宣言があるかどうかを調べます。もし見つかった場合は、自動的に最新の標準モード(別名:"EmulateIEx")が使用されます。見つからない場合は、Quirks モードに戻ります。

Microsoft 自身による、"X-UA-Compatible" meta タグを使用すべきでないさらなる理由 (強調) です。

Internet Explorer が X-UA-Compatible META タグに遭遇すると、指定されたバージョンのエンジンを使用してやり直します。 これはパフォーマンスへの影響です。 なぜなら、ブラウザはコンテンツの解析を中断して再開しなければならないからです。

言い換えると、ページの初期レンダリングが遅くなります。

<ブロッククオート

X-UA-Compatible ディレクティブは、アプリケーションが最新の Internet Explorer で動作するためのツールです。 で動作するようにするためのツールです。 .

一時的な使用しか想定していなかった

<ブロッククオート

ベストプラクティスは X-UA-Compatible HTTP ヘッダです。 . 応答ヘッダーにこのディレクティブを追加すると、コンテンツの解析が始まる前に使用するエンジンを Internet Explorer に伝えます。これは、Web サイトのサーバーで設定する必要があります。

言い換えれば、そこに X-UA-Compatible を実装するためのより良い方法 があるのです。

2016年1月12日より、対応OSで利用可能な最新版のInternet Explorerのみ、技術サポートとセキュリティ更新を受けることができます。 インターネットエクスプローラー11 はInternet Explorerの最終バージョンであり、今後もセキュリティアップデート、互換性修正、テクニカルサポートを受けることができます。 Windows 7、Windows 8.1、および Windows 10。 .

IE11 は唯一の 正式にサポートされている IE のバージョンです。 .

を含める唯一の理由は X-UA-Compatible メタ タグを含める唯一の理由は、ユーザーの IE8、9、10 での互換表示設定を上書きするためでした。ほとんどの場合、ユーザーはこれらの設定を変更しておらず (なぜ変更するのでしょうか?)、現在ではこれらのブラウザはもうサポートされていません。

要するに、このタグはその日を迎えたのです。