3

我從我的研究中瞭解到,IE8的確很煩人,比如將本身強制進入本地Intranet主機和本地IP範圍的IE7模式。我從previous question瞭解到無法使用條件語句,無論IE8是以IE8還是IE7模式呈現,它仍將僅使用條件語句<!--[if IE 8]>確定是否在使用條件的IE8兼容模式

因爲這個問題被問前一段時間(在IE8測試階段由事物的外表),如果這種情況已經改變或我想知道是否有使用條件語句,以確定是否IE8在兼容模式下任何其他方式

謝謝!

+0

可能重複[如何檢測IE8是否在兼容視圖中運行?](http://stackoverflow.com/questions/1208837/how-can-i-detect-if-ie8-is-running-in -compatibility-view) – 2010-06-29 11:21:04

+0

不是因爲我特意詢問使用條件。 – Konrad 2010-06-29 11:23:02

回答

-1

最終,我選擇了混合兩種常見的策略來處理這個bug。

我創建了一個覆蓋CSS文件,我使用條件註釋導入。但是,在IE 8或9的情況下,這種覆蓋看起來不太好,所以我將'強制IE強制進入最新的渲染模式'標題開關中,如下所示。

<!--[if lte IE 7]> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
    <link rel="stylesheet" type="text/css" href="/Content/IE7Overrides.csss" /> 
<![endif]--> 

這提供了IE7的一個體面的故障保護,但強制IE8和IE9顯示它在最新的瀏覽器,這將正確顯示基於CSS的表。

+0

只要您點擊條件註釋,IE就會確定它所處的渲染模式。因此,嵌套元標記將不起作用,並且不會將IE設置爲邊緣模式。您可以在HTML5BP的Github Repo上看到關於此問題的非常長的評論主題:https://github.com/h5bp/html5-boilerplate/issues/378 – calvinf 2013-04-16 00:57:06

+0

@calvinf:奇怪,因爲它已在生產中工作了好幾個月。還有其他一些事情正在磨合這個問題。 – Jeff 2013-04-16 12:26:34

+0

是通過HTTP頭設置X-UA兼容的頁面嗎?此外,沒有X-UA兼容的頁面通常會以邊緣模式呈現,除非您的頁面位於Microsoft的IE兼容性視圖列表(或Intranet站點)之一。 – calvinf 2013-04-16 23:06:34