web-dev-qa-db-ja.com

IE 9でドキュメントモードの再起動を修正する方法

IE9でウェブサイトを開くときに問題が発生します。私のサイトを開こうとすると、開発ツールでこのエラーが発生します。

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 Server 2008でASP.NET 4を使用してサイトを開発しています。この問題を解決するにはどうすればよいですか?

26
Amin Mousavi

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

あなたがあなたのX-UA-Compatiblemetaタグ内の宣言では、次の問題が発生する可能性があります。

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

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

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

  3. また、doctype宣言の前にテキストを入れないでください。 たとえば、HTMLコメントがある場合、IEは互換モードに切り替わります。

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

セットX-UA-Compatibleヘッダーをページに追加し、サイトがまだ互換モードに切り替わっているかどうかを確認します。その場合は、マークアップを確認し、標準モードに戻るまで HTML検証エラー を修正してください。