2011-06-16 72 views
2

我們正在將網頁應用程序轉換爲IE8(現在客戶端使用的是IE6)。我們沒有創建該應用程序。我們只修改和添加功能。當我使用IE8開發人員工具訪問此應用程序中的大部分頁面時,顯示IE在Quirks模式下工作。但有些頁面可以在Internet Explorer 8標準模式下使用。此頁http://msdn.microsoft.com/en-us/library/dd565628(VS.85).aspx說:IE8何時進入Quirks模式?

「怪癖模式:此行爲匹配的Internet Explorer時,沒有doctype或Quirks doctype呈現文檔。」

但是我們所有的頁面都定義了DOCTYPE - !DOCTYPE html PUBLIC「 - // W3C // DTD XHTML 1.0 Transitional // EN」「http://www.w3.org/TR/xhtml1/DTD/xhtml1 「-transitional.dtd」(我不知道如何在這裏輸入尖括號,但它們出現在網頁上

任何人都可以解釋爲什麼IE8在Quirks和標準模式下工作時顯示的頁面都具有DOCTYPE定義?或者,也許讓我看看IE8在Quirks和標準模式下顯示的兩個頁面示例?

+0

[什麼引發Internet Explorer進入怪癖模式?](http://stackoverflow.com/questions/3949941/what-throws-internet-explorer-into-quirks-mode) – 2013-02-27 03:48:31

回答

6

doctype標記必須是標記中的第一個,否則將被忽略如果在doctype標記之前有一個XML聲明標記,將忽略doctype。

如果HTML標記被完全破壞,瀏覽器可能會重新將其解釋爲標記湯而不是HTML文檔,並將其渲染爲怪異模式。使用W3C HTML validator檢查代碼沒有任何嚴重錯誤。

+0

在古怪模式下運行IE使'固定'的位置被忽略。 – 2012-07-19 15:21:27

+0

@JeaffreyGilbert:是的,在怪癖模式下,不支持多個CSS和Javascript功能,或者工作方式不同。最值得注意的是它使用了非標準盒子模型,這使得它可以計算填充和不同的邊界。 – Guffa 2012-07-19 16:32:17

0

嘗試查看您的HTML我是一個十六進制編輯器。在DOCTYPE聲明之前可能會出現一些奇怪的字符(通常是3:ef bb bf)。在這種情況下IE也陷入怪癖。之前發生在我身上,現在也在發生。

+0

我相信這些角色也會出現在SciTe和記事本中。 – Ren 2013-03-27 14:58:47

相關問題