web-dev-qa-db-ja.com

IE8ブラウザーモードとドキュメントモード

IE8 ブラウザモードドキュメントモードの違いを簡単な言葉で説明してもらえますか?

  • ブラウザモードが変更される原因は何ですか?
  • ドキュメントモードが変更される原因は何ですか?

  • ユーザーが開発者ツールを使用してモードを変更すると、ページが更新されても変更は残りますか?

ここでIE8のテストを行っており、さまざまな人々がモードのさまざまな組み合わせを持っているので、私はこれを求めています。

72
mkoryak

この記事 IE8ブログのIE8がドキュメントモードを決定する方法

  1. 開発者ツールの設定は、タブに表示されるページのすべてのドキュメントモードをオーバーライドします。
  2. X-UA-Compatibleの値がEmulateIE7またはEmulateIE8でない限り、X-UA-Compatibleメタタグとヘッダーは、Compatibility View Settingsとdoctypeをオーバーライドします。
  3. ユーザーの互換表示設定は、Microsoft互換表示リストよりも優先されます。
  4. 上記のルールのいずれも適用されない場合、Doctypeは、WebページがIE8標準、IE8 Almost Standards、または互換モードでレンダリングされるかどうかを決定します。

そのため、あなたの質問に対する次の回答が得られます。

Q。ブラウザモードとドキュメントモードの違いは何ですか?
A。ブラウザーモードは開発者ツールで設定され、異なるIEドキュメントモードは、互換性のためにサイトを異なる方法でレンダリングするIE.

Q。ブラウザモードが変更される原因は何ですか?
A。ユーザーは、開発ツールでブラウザモードを変更します。

Q。ドキュメントモードが変更される原因は何ですか?
A。Web開発者が設定したDoctypeおよびX-UA-Compatibleメタタグとヘッダー。

Q。ユーザーが開発者ツールを使用してモードを変更すると、ページが更新されても変更は残ります?
A。ブラウザモードは残りますが、DoctypeとX-UA-Compatibleを変更すると、元の状態に戻りますページで定義されています。

UPDATE:Adrien Beが指摘するように、IE9 +は、更新時に持続する設定を介して、開発ツールのドキュメントモードを変更する機能を追加します。

69

このページ の回答を参照してください。

documentModeプロパティは、現在のドキュメントをレンダリングするためにブラウザーが使用するモードを返します。

IE8は、!DOCTYPEまたは特定のHTML要素の存在に応じて、さまざまなモードでページをレンダリングできます。

このプロパティは、次の値のいずれかを返します。

5 - The page is displayed in IE5 mode
7 - The page is displayed in IE7 mode
8 - The page is displayed in IE8 mode
9 - The page is displayed in IE9 mode

注:!DOCTYPEが指定されていない場合、IE8はページをIE5モードでレンダリングします!

Diagram of the document mode selection process

16

ブラウザモード:ブラウザがWebサーバーに送信するユーザーエージェントを指定します。 JavaScriptまたはバックエンドコードのレンダリングがユーザーエージェント文字列に基づいて異なる場合、レンダリングの違いが発生する可能性があります。たとえば、navigator.userAgent。 (Mozilla/5.0(互換性あり、MSIE 8.0 ...)この値は、処理にも使用されます 条件付きコメント ([if lte IE 9]、[if gt IE 8]など)。IE 11のエミュレーションツールにはブラウザモードがありません。代わりにユーザーエージェントドロップダウンがあります。

ドキュメントモード:マークアップの処理に使用されるレンダリングエンジンを指定します。これは通常、レンダリングの問題とブラウザの非互換性が見られる場所です。元々の目標(良くも悪くも)は、Webサイトの所有者がメタタグを介してサイトのドキュメントモードを選択できるようにすることでした。 IE 11では、エミュレーションツールの混乱が少なくなっています。

テスト:目標が古いIE8ブラウザをエミュレートすることである場合、bothブラウザモードとドキュメントモード。エミュレーションは完璧ではないため、より完全なオプションは Microsoftから無料のテストVMをダウンロードする です。ここで、IE 8、9など.

これらの値が変化する原因は何ですか?

ブラウザモードは変更されません。 (開発ツールで変更しない限り。)Webサーバーに要求を行う前に設定されます。

ドキュメントモードは、Webサーバーの応答に基づいて変更できます。 X-UA-Compatible HTTP応答ヘッダー、docタイプ、メタタグ、イントラネットサイト、マークアップの問題などを介して変更できます。

2
James Lawruk

左上の小さなボタンがあり、IE dev tools-> emulation(tab)that "Persist emulation settings"

this を参照してください:

設定の永続化とリセット永続的エミュレーション設定アイコンがエミュレーションツールに追加されます。これにより、現在無効になっているまで現在のエミュレーション設定が維持されます。エミュレーション設定はそのままです。右側にあるのは、[エミュレーション設定のリセット]アイコンで、ツールをデフォルト値にすばやくリセットします。 "

0
mishal153