現代の Web ブラウザは、Web 標準に従って作成された Web ページと、1990 年代後半に普及していた古い慣行に従って作成された Web ページを処理するために、さまざまなエンジン モードを実装しています。この記事では、それらのパターンとは何か、およびそれらをトリガーする方法について説明します。
原文: Activating Browser Modes with Doctype by Henri Sivonen
この記事に記載されているモード切り替えは、Firefox およびその他の Gecko ベースのブラウザ、Safari、Chrome およびその他の Webkit ベースのブラウザ、Opera、Konqueror、Internet Explorer for Mac、Internet Explorer for Windows、および IE 組み込みブラウザ デバイスに適用されます。ブラウザ エンジンの名前の言及を避け、代わりにそのエンジンで最もよく知られているブラウザの名前を使用してください。
この記事では、各モードの正確な動作を文書化するのではなく、モード選択メカニズムに焦点を当てます。
さまざまなモードを次に示します。
text/html コンテンツのモード選択は、Doctype スニッフィングに依存します (この記事で後述します)。 IE8 では、モードは他の要因にも依存します。ただし、IE8 のデフォルトでは、Microsoft のブラックリストに載っていない非イントラネット サイトのモードはドキュメントの種類によって異なります。
この記事では一律に説明していますが、パターンの正確な動作はブラウザごとに異なることは、いくら強調してもしすぎることはありません。
Firefox、Safari、Chrome、Opera では、application/xhtml+xml HTTP コンテンツ タイプ (meta 要素や doctype ではありません!) によって XML モードがトリガーされます。 XML モードでは、ブラウザは、ブラウザで指定された範囲で、XML ドキュメント仕様に正しい処理を実行しようとします。
E6、7、および 8 は application/xhtml+xml をサポートしておらず、Mac IE5 もサポートしていません。
WebKit ベースの Nokia S60 ブラウザでは、モバイル ウォールド ガーデンでは非標準コンテンツとの互換性が懸念されるため、application/xhtml+xml HTTP コンテンツ タイプは XML モードをトリガーできません。 (非正規コンテンツはすでに XML としてタグ付けされているため、古い「モバイル ブラウザ」では実際の XML パーサーを使用できません。)
Konqueror を十分にテストしないと、このブラウザで何が起こるかを正確に言うことはできません。