IE8でquirksモードをトリガーするのはなぜですか?
-
22-07-2019 - |
質問
IE8に読み込んで開発者ツールを表示すると、ページのデフォルトが奇抜モードであることを通知するページに取り組んでいます。
厳密なDTDを持っています:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
先に進んで明示的な標準スイッチを入れましたが、必要だとは思いませんでした:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
ページのデフォルトがIE8標準ではない理由を理解できませんか?
唯一考えられるのは、このページにアクセスするには、まずアプリケーションにログインする必要があり、最初に移動する必要があるページは古い癖モードのページです。 IEはサーバーレベルで使用するモードを決定しますか、それともページごとに決定することになっていますか?
ありがとう!
解決
IEはサーバーレベルで使用するモードを決定します
通常はありません。 互換性ビューリスト。これはサイト固有ですが、IE5.5スタイル-Quirks-Modeではなく、IE7スタイル-Standardsモードに戻るだけです。
そのDOCTYPEがページの一番最初にある限り、それ以外のコードは問題なく見えます。 IEは、doctypeの前にコメント、PI、XML宣言(IE8より前)、または空白以外のテキストコンテンツがある場合、 document.compatMode = 'BackCompat'
を強制されます。テキストエディターで表示できない制御文字が入り込んでいる場合は、それで問題が発生する可能性があります。
問題のページの例?
所属していません StackOverflow