0

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 以前のブラウザーでのみ表示されるように修正するにはどうすればよいですか?

4

1 に答える 1

0

注文は間違いありませんか?ここで見つけたこのページを試してみましたが、ブラウザのデフォルトは「IE7標準」です

<html>
<head>      
  <!--[if lt IE 9]>
  <meta http-equiv="X-UA-Compatible" content="IE=7" >
  <![endif]-->
  <title>My webpage</title>
</head>
<body>
  <p>Content goes here.</p>
</body>
</html>
于 2012-10-12T19:35:13.377 に答える