2012-04-12 71 views
1

我想知道爲什麼,如果我做我的aspx頁面上的這一聲明...理解DOM文檔類型

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

,在DOM,它涉及通過這樣

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Strict//EN"> 

令人沮喪的原因是IE9會將其引入IE7標準和IE9兼容模式。在IE 8中,它很好,並沒有這樣做。這是一個很大的問題,因爲它打破了我創建的應用程序,直到我強制IE9進入IE9標準,並且我無法期望整個公司的客戶在每次使用應用程序時都這樣做。

此應用程序使用$ .ajax調用,雖然此問題發生在頁面加載時jquery尚未被調用。

當我做一個簡單的視圖源並驗證它時,它沒有問題。沒有錯誤。當我驗證「dom」來源時,這是一場災難。爲什麼??一種解決這個問題或解決問題的方法?

謝謝!

回答

1

雖然這可能不是您的理想解決方案,但對我而言,只是使用以下文檔類型。看似簡單:

<!DOCTYPE html> 

就是這樣!

可能有些原因是爲什麼這是一個壞主意(或不是你想要的),但如果你可以在你的情況下試試看,並讓我知道它是否令人失望。

更新:

其他的事情我瞭解,這是連一個空行或之前的DOCTYPE聲明註釋可導致IE拋出自己手中了。

+0

對不起,但仍然給我這在DOM中。<!DOCTYPE HTML PUBLIC「 - // W3C // DTD HTML Strict // EN」> – 2012-04-12 14:12:39

+1

這通常被稱爲HTML5文檔類型,好奇。 – Alex 2012-04-12 14:13:02

+0

對不起約翰;我知道你的失望。我用另一種可能性更新了我的答案。希望你能找到你的答案。 – veeTrain 2012-04-12 14:15:18

0

回答:啊哈!這必須成爲頭腦中的「第一」條目,並解決了這個問題。 「第一」也很重要,不知道爲什麼,但我嘗試了多種方式,這是它工作的唯一方式。