IIS がヘッダーで以下を送信する Web サイトがあります (これはサイト全体で正しいです)。
X-UA-Compatible: IE=Edge
ただし、特定のページでは、<head>
セクションの一番上に次のものがあります。
<!--[if lt IE 9]>
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<![endif]-->
これは IE8 によって正しく解釈されており、ページ ソースを表示すると の上部に表示されます。ただし、ドキュメント モードが「IE8 標準」から「IE7 標準」に変更されることはありません。ブラウザ モードはデフォルトで IE8 互換表示になっていますが (これはイントラネット サイトです)、通常の IE8 モードでも同じドキュメント モードの問題があります。
ページにメタタグがあると、サーバーから最初のヘッダーで送信されたものはすべて上書きされると思いました。この 1 ページのドキュメント モードを変更するために他にできることはありますか?
編集: aspx ページの Page_Load に以下を配置すると、IE7 ドキュメント モードを強制できます。Response.AddHeader("X-UA-Compatible", "IE=7");
これにより、このヘッダーが IE=Edge ヘッダーの後に表示されるようになり、この 2 番目のヘッダーのみが解釈されます。上記のメタ タグには IE9 または IE10 で使用されないという利点があり、IE7 ドキュメント モードに強制するとページの機能の一部が消えるため、これは実際には私の問題を解決しません。IE8以前で機能するためには、これが特に必要です。
また、条件付き CSS を削除すると、ドキュメント モードが正しくなるように見えます。ページの読み込み後に条件付き CSS が実行される可能性はありますか? その場合、IE7 ドキュメント モードが IE8 以前のブラウザーでのみ表示されるように修正するにはどうすればよいですか?