0

我是一個符合標準的網頁上做的IE 8的一些測試,以嚴格的doctype:IE8黑名單域迫使非標準模式

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

然而,顯然該網頁中的「IE 8所呈現兼容視圖「/」IE7標準「,這是打破布局。
環顧四周後,我發現顯然IE有一個網站黑名單,迫使那些列出的兼容模式。
然後,我檢查了this blacklisted domains DB,如果我正在使用的網站在列表中,但它不是。這是一個大型網站,數據庫的定義似乎已經過時了,所以它可能是在去年左右添加的。

測試另一個域上完全相同的頁面會觸發IE8的標準模式,這表明它最近確實被列入黑名單。

現在我能做些什麼來使IE8/7觸發標準模式?
有什麼辦法從黑名單中刪除網站?
我想如果沒有其他可用的東西,我可以使用UA元,但寧願避免添加(另一個)不必要的html元素,以使IE工作。

More information about IE8 and the compatibility blacklist

+0

您是在** external **域中測試這個嗎?或本地主機?或內聯網服務器? - 默認情況下,IE以「不太標準」模式呈現「內部」服務器。請注意,除了MSFT維護的全局compat列表之外,每個用戶的IE8還可以從本地列表中添加/刪除站點。 – scunliffe 2010-06-28 10:30:06

+0

聽起來很有趣scunliffe - 最初的問題發生在Intranet服務器上,而我運行第二次測試的域名在本地主機上 - 這被認爲是符合標準的。 有什麼我可以做,以檢查這是否是問題?任何方式來解決它,如果是這樣? – Razor 2010-06-28 11:31:03

+0

當然...在IE8中加載你的頁面並點擊'F12' IE將列出你關心的兩個呈現模式項目:「瀏覽器模式」和「文檔模式」都應該列出IE8 - 如果文檔模式是「IE7」並且服務器是本地內網服務器,這就是爲什麼。 – scunliffe 2010-06-28 15:12:24

回答

0

scunliffe的評論讓我在正確的軌道上,以什麼似乎這裏是問題:IE8似乎對待Intranet服務器在一種不同的方式,並以兼容模式顯示它們。

這裏是scunliffe的原文評論(如果你把它寫成一個答案,我來接你):

你對外部域的測試呢?或本地主機?或內聯網服務器? - 默認情況下,IE以「不太標準」模式呈現「內部」服務器。請注意,除了MSFT維護的全局compat列表之外,每個用戶的IE8還可以從本地列表中添加/刪除站點。

0

您可以強制IE8使用遵循META標記,放在你的頭標記內的標準模式來呈現。我不確定這是否會覆蓋本地網站的行爲,但值得一試。

<meta http-equiv="x-ua-compatible" content="IE=8"> 

編輯:對不起,我沒有看到你提到UA元 - 這個答案有點多餘,我猜。

編輯2:DOCTYPE聲明之前是否有空格?我前一陣子曾經這樣做過,只是在DOCTYPE輸出之前刪除正在被刪除的空白。這敲響了IE8回到標準模式。

EDIT3:此外,檢查您的域名/ IP上這個網站,它會檢查多URIBLs http://www.myiptest.com/staticpages/index.php/check-blacklisted-domain-URIBL

+0

關於您的編輯: 2:完全相同的頁面可以觸發或不觸發標準兼容模式,在不同的域,所以它不能下降到任何文件差異(我猜想除了換行符) 3:看起來像一些黑名單完成過濾電子郵件垃圾郵件?不要認爲這是我在這裏的問題 謝謝你的回答! – Razor 2010-06-28 11:35:19