2009-10-30 41 views
11

我正在研究一個頁面,當我加載到IE8並查看開發人員工具時,它告訴我頁面默認爲怪癖模式。爲什麼我在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決定在服務器級使用哪種模式,還是應該逐頁決定?

謝謝!

+0

您嘗試關閉所有的IE8窗口並再次加載? – Jason 2009-10-31 00:03:20

+0

這解決了我的怪癖模式問題:http://stackoverflow.com/questions/6294301/dreamweaver-causing-quirks-mode-in-internet-explorer – rtpHarry 2012-06-26 21:12:57

回答

22

IE是否決定哪些模式在服務器級別

一般不使用,沒有。 compatibility view list存在醜陋,這是特定於站點的,但只會引發您回到IE7風格的標準模式,而不是IE5.5風格的怪癖模式。

只要該DOCTYPE是頁面上的第一件東西,您的代碼看起來沒問題。如果在doctype之前有評論,PI,XML聲明(在IE8之前)或任何非空白文本內容,IE將被強制爲document.compatMode= 'BackCompat'。如果一個控制字符在你的文本編輯器中看不到,那可以做到。

示例問題頁面?

+3

你明白了!問題在於doctype聲明並非絕對的第一件事。 謝謝! – 2009-11-02 18:59:48

+0

在我的情況下,我有一些會話和一些標題重定向,但如果你回聲後的代碼,它將工作:'回聲'<!DOCTYPE html PUBLIC「 -// W3C// DTD XHTML 1.0 Transitional // EN」「http: //www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd「>';'。你可以使用任何其他的'doctype' – Patrioticcow 2011-08-31 21:35:25

相關問題