2012-10-12 57 views
0

我有一個網站,在IIS發送以下的報頭(這是網站的整體正確):IE8文檔模式沒有正確設置

X-UA-Compatible: IE=Edge 

然而,在特定頁面上,我在我<head>部分的最頂部以下內容:

<!--[if lt IE 9]> 
    <meta http-equiv="X-UA-Compatible" content="IE=7" /> 
<![endif]--> 

這是由IE8的正確解釋,因爲它在的頂部顯示出來,當我查看網頁的源文件。但是,它永遠不會將我的文檔模式從「IE8標準」更改爲「IE7標準」。瀏覽器模式默認處於IE8兼容性視圖(它是Intranet站點),但即使在正常的IE8模式下,它仍然具有相同的文檔模式問題。

我認爲在頁面上使用meta標籤會覆蓋從服務器發送的初始標頭中的內容。還有什麼我可以做的改變這一頁的文檔模式?

編輯:我可以強制IE7文檔模式,如果我把我的Pagepxoader放在我的aspx頁面Response.AddHeader("X-UA-Compatible", "IE=7");中,所以我現在在IE = Edge標題後顯示這個標題,所以只解釋第二個標題。但這實際上並不能解決我的問題,因爲上面的元標記具有不會在IE9或IE10中使用的優點,並且在強制進入IE7文檔模式時頁面的某些細節會消失。我只是特別需要這個爲IE8和更舊的工作。

此外,如果我刪除條件CSS,它似乎獲得文檔模式正確。那麼是否有可能在頁面加載後執行條件CSS,如果是的話,我該如何解決它,使IE7文檔模式只顯示IE8和更早版本的瀏覽器?

回答

0

您確定您的訂單正確嗎?我剛試過這個頁面,發現HERE,我的瀏覽器默認爲「IE7標準」。

<html> 
<head>  
    <!--[if lt IE 9]> 
    <meta http-equiv="X-UA-Compatible" content="IE=7" > 
    <![endif]--> 
    <title>My webpage</title> 
</head> 
<body> 
    <p>Content goes here.</p> 
</body> 
</html> 
+0

我很確定訂單是正確的。我在html head部分使用的第一行是meta標籤。它只是簡單地忽略它,而是使用由http頭中的IIS提供的。 – Greg