1. 程式人生 > >輕鬆搞定各版本IE相容問題,IE6,IE7,IE8,IE9,IE10,IE11

輕鬆搞定各版本IE相容問題,IE6,IE7,IE8,IE9,IE10,IE11

在網站開發中不免因為各種相容問題苦惱,針對相容問題,其實IE給出瞭解決方案,Google也給出瞭解決方案,百度也應用了這種方案去解決IE的相容問題。解決這種相容問題只需要一行程式碼就可以了,先來看下百度首頁的解決相容性問題的程式碼。

百度首頁原始碼如下:

<!Doctype html>
    <html xmlns=http://www.w3.org/1999/xhtml xmlns:bd=http://www.baidu.com/2010/xbdml>
    <head>
    <meta http-equiv="Content-Type" content=“text
/html;charset=utf-8″>
<META http-equiv="X-UA-Compatible" content=IE=Edge> <title>百度一下,你就知道 </title>
這句話的意思是強制使用Edge模式來解析網頁程式碼!

幾種IE使用模式:

1.強制使用IE5模式來解析

1 <meta http-equiv=“X-UA-Compatible” content=“IE=5″>

2.強制使用IE6模式來解析

1 <meta http-equiv=“X-UA-Compatible” content
=“IE=6″>

3.強制使用IE7模式來解析的兩種方式

1     <meta http-equiv=“X-UA-Compatible” content=“IE=EmulateIE7″>
2     <meta http-equiv=“X-UA-Compatible” content=“IE=7″>
4. 強制使用IE8模式來解析
1 <meta http-equiv=“X-UA-Compatible” content=“IE=8″>

5. Google Chrome Frame也可以讓IE用上Chrome的引擎:

1 <meta http-equiv
=“X-UA-Compatible” content=“chrome=1″/>

6.如果一個特定版本的IE支援所要求的相容性模式多於一種,如下程式碼就是IE5和IE8兩種模式:

1 <meta http-equiv=“X-UA-Compatible” content=“IE=5; IE=8″/>

7.預設使用Google Chrome Frame進行渲染,如果沒有安裝gcf則使用IE的最新核心來渲染

< meta http-equiv = "X-UA-Compatible" content ="IE=edge,chrome=1" />

除此之外,我們還可以設定網站伺服器以指定預設相容性模式

如果伺服器是自己的話,可以在伺服器上定義一個自訂標頭來為它們的網站預設一個特定的檔案相容性模式。這個特定的方法取決於你的網站伺服器。下列的 web.config檔案使Microsoft Internet Information Services (IIS)能定義一個自訂標頭以自動使用IE7 mode來編譯所有網頁。

另外還有一起其他的解決方案,例如google的ie7–js中是一個JavaScript庫(解決IE與W3C標準的衝突的JS庫),使微軟的Internet Explorer的行為像一個Web標準相容的瀏覽器,支援更多的W3C標準,支援CSS2、CSS3選擇器。它修復了許多的HTML和CSS問題,並使 得透明PNG在IE5、IE6下正確顯示。

以下為google code的程式碼地址。

使IE5,IE6相容到IE7模式

使IE5,IE6,IE7相容到IE8模式

使IE5,IE6,IE7,IE8相容到IE9模式

那麼怎麼解決解決PNG顯示問題,只需將透明png圖片命名為 *-trans.png ,而美中不足的是,此方法對背景平鋪(background-repeat)和背景(background-position)無法起到任何作用,預設會佔滿整個容器。當然你也可以使用《IE6 PNG透明終極解決方案 》中所講的方法。

還有一種有趣的方法

建立html5時發現這麼一句話,如下:

1 <meta http-equiv=”X-UA-Compatible” content=”IE=edge,chrome=1″/>

這樣寫可以達到的效果是如果安裝了GCF(Google Chrome Frame 谷歌內嵌瀏覽器框架的簡稱),則使用GCF來渲染頁面,如果沒安裝GCF,則使用最高版本的IE核心進行渲染。這個外掛可以讓使用者的IE瀏覽器外觀不變,但 使用者在瀏覽網頁時,實際上使用的是Google Chrome瀏覽器核心,而且支援IE6、7、8等多個版本的IE瀏覽器。