2009-10-30 12 views
11

私はIE8にロードして開発者ツールを見ると、ページのデフォルトがquirksモードであることを知らせるページに取り組んでいます。なぜ私はIE8でquirksモードを起動しますか?

私は厳格な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標準でない理由を理解できませんか?

このページにアクセスするには、最初にアプリケーションにログインする必要があり、私がトラバースしなければならない最初のページは古いクォークモードページです。 Internet Explorerは、サーバーレベルで使用するモードを決定するのか、それともページ単位で決定するのですか?

ありがとうございます!

+0

すべてのIE8ウィンドウを閉じてもう一度ロードしようとしますか? – Jason

+0

これは私の奇妙なモードの問題を解決しました:http://stackoverflow.com/questions/6294301/dreamweaver-causing-quirks-mode-in-internet-explorer – rtpHarry

答えて

22

IEはありません、サーバーレベル一般

ないで使用するモードを決めるん。サイト固有のcompatibility view listの醜さがありますが、IE5スタイルのQuirksモードではなく、IE7スタイルの標準モードに戻ってきます。

あなたのコードは、そのDOCTYPEがページの最初のものである限り、OKです。コメント、PI、XML宣言(IE8より前)、またはdoctypeの前に空白以外のテキストコンテンツがある場合、IEはdocument.compatMode= 'BackCompat'に強制されます。制御文字があなたのテキストエディタで見ることができないということに悩まされているなら、それはそれを行うことができます。

問題ページの例?

+3

あなたはそれを持っています!問題は、doctype宣言が絶対にページの最初のものではなかったことです。 ありがとう! –

+0

私の場合、私はいくつかのセッションといくつかのヘッダリダイレクトを持っていますが、そのコードをエコーすると 'echo '<!DOCTYPE html PUBLIC" - // W3C // DTD XHTML 1.0 Transitional // EN "" http: //www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> ';'あなたは他の 'doctype' – Patrioticcow

関連する問題