2012-02-22 62 views
2

這裏是我使用的文檔類型:爲什麼IE8說頁面默認是怪癖模式?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
+0

這與頁面內容有關。你能發佈一個鏈接嗎? – paulmorriss 2012-02-22 16:28:55

+0

Unfortunatley我不能。 – 2012-02-22 16:52:52

+0

除非你插入一個特定於MS的元標記,否則IE8默認爲怪癖模式嗎? – 2012-02-22 17:09:03

回答

8

如果您有內容(可能是HTML評論)之前 DOCTYPE這會發生。 IE8中的空白區域應該沒問題 - 雖然我認爲即使這也會導致IE6出現問題。

(在IE6的DOCTYPE前一個XML聲明會觸發怪異模式 - 這是固定在IE7,但它似乎其他內容之前的DOCTYPE仍然會觸發此)

+1

從IE10 RTM開始,這個問題就解決了。您可以在DOCTYPE之前放置註釋。 – 2012-09-19 17:19:49

2

不是好笑,我敢肯定,你已經籤這個,但是......

您是否嘗試過按下F12鍵踏進IE開發者控制檯。有沒有強化也許是「文檔模式」或「瀏覽器模式」設置爲「怪癖模式」

請原諒我,如果不是這種情況......我只是在這之前,

+0

這是問題所在。它被「頁面默認」設置爲「怪癖模式」。這不是我想要的。它應該是IE8標準 – 2012-02-22 16:52:15

+0

@Mark W - 所以你有沒有嘗試改變下拉以IE7/IE8模式渲染,而不是怪癖......? – BizNuge 2012-02-23 08:52:47

+0

你誤解了這個問題。我希望頁面默認爲IE8標準,但在檢查開發人員欄時,它會在該下拉列表中指出「頁面默認值」爲怪癖模式。對於我來說,在下拉菜單中更改它會很簡單,但對於那些每天使用IE8訪問網站的成千上萬的用戶來說並非如此。 – 2012-02-24 09:46:23

1

這聽起來像你正在處理帶有內聯網頁面,其中IE8 and IE9 treat differently。如果您的頁面被認爲是在Intranet區域中,那麼IE8將默認爲兼容模式,可能會將您的頁面擡高一點。

您可以通過使用X-UA-Compatible meta元素來解決此問題,但我沒有自己測試過。

+1

WOW。 I.E.的詆譭真是無邊無際。 – masonk 2012-03-19 23:13:34

1

該頁面在谷歌排名「爲什麼網頁觸發IE8怪癖模式」,所以我會後我的2個發現高(通過不好受故障排除經驗):如果您使用PHP

1)頁將通過靶向怪癖模式一般來說,但是在那個特定的頁面上說,你在<html>部分中根本沒有任何php代碼,但是爲了兼容性,你希望在開頭處寫空的<?php ?>標籤。現在,比方說,你想「最小化」的代碼,並刪除之間的所有空的空間,讓你寫:

<?php?> 

這將觸發IE8 Quirks模式,因爲<!DOCTYPE html>之前,現在你將有一個額外的行這樣的事情在IE8:

<!-- --> 

,並在Chrome 34.x:

<!--?php?--> 

常見的,但致命的錯誤。只要把

<?php ?> 

(與空間)是安全的。

2)第二個原因確實很難發現。如果您使用UTF-8處理文檔並使用Notepad ++進行編輯,則最有可能將您的字符編碼設置爲純UTF-8(Notepad ++>編碼> UTF-8編碼),偶然您可能會觸發IE8怪異模式!

現在,解決方案非常簡單:使用Notepad ++只需選擇Encoding>使用UTF-8轉換(無BOM)。

怪癖模式再次消失!

花了我一段時間來抓住所有這些,努力尋找CSS中的錯誤,那根本不是CSS相關的!

相關問題