26

IE9で自分のWebサイトを開くのに問題があります。サイトを開こうとすると、開発ツールで次のエラーが発生します。

HTML1113: Document mode restart from Quirks to IE9 Standards

私はグーグルでこれを使用することを提案する答えを見つけました:

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

また

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

...しかし、これらは機能せず、今回は次のメッセージが表示されます。

HTML1115: X-UA-Compatible META tag ('IE=Edge') ignored because document mode is already finalized.

私の問題は何ですか?MicrosoftによるIEのサイト開発者向け互換性機能などの記事をいくつか読み、 IE9のドキュメントモードフローチャートの決定でサイトをトレースし、これらのサイトで!doctypeに関連するすべての提案を使用しましたが、誰も私の問題を解決できず、ページの後にIEエンジンがリセットされましたオープンしました。

Windows Server2008でASP.NET4を使用してサイトを開発しています。この問題を修正するにはどうすればよいですか?

4

1 に答える 1

42

常に機能する必要がある1つの解決策はX-UA-Compatible、HTTPヘッダーを挿入することです。また、<!DOCTYPE>HTMLドキュメントの上部に指定する必要があります(<!DOCTYPE html>最も簡単なドキュメントです)。

X-UA-Compatibleタグ内に宣言を入れるとmeta、次の問題が発生する可能性があります。

  1. X-UA-Compatibleページの最初の4k内に存在しない限り、無視されます。headセクションの下部(または)のどこかに配置する場合は、body上部に移動します。そのための最適な場所は、エンコードと言語宣言の直後です。
  2. X-UA-CompatibleIEの条件付きコメント内に配置されている場合は無視されます。例えば:

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

    この場合、条件付きコメントを削除する必要があります。

  3. doctypeまた、宣言の前にテキストを含めるべきではありません。たとえば、そこにHTMLコメントがある場合、IEはクァークズモードに切り替わります。

  4. 最後に、イントラネットからこのサイトを表示しているかどうかを確認します。デフォルトでは、互換表示はイントラネットサイトで有効になっています。

X-UA-Compatibleページのヘッダーを設定してから、サイトがまだクァークズモードに切り替わっているかどうかを確認することをお勧めします。その場合は、マークアップを確認し、標準モードに戻るまでHTMLバリデーターエラーを修正してみてください。

于 2012-06-19T07:20:48.043 に答える