1. 程式人生 > >一行程式碼解決各種IE相容問題,IE6,IE7,IE8,IE9,IE10

一行程式碼解決各種IE相容問題,IE6,IE7,IE8,IE9,IE10

在網站開發中不免因為各種相容問題苦惱,針對相容問題,其實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=EmulateIE7>
<title>百度一下,你就知道 </title> <script>var wpo={start:new Date*1,pid:109,page:‘superpage’}</script> <meta http-equiv=X-UA-Compatible content=IE=EmulateIE7>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

可以開啟百度,右鍵檢視原始碼看下!我們可以看下檔案頭是否存在這樣一行程式碼!

這句話的意思是強制使用IE7模式來解析網頁程式碼!

在這裡送上幾種IE使用模式!

<meta http-equiv
=“X-UA-Compatible” content=“IE=8″>
  • 1
  1. Google Chrome Frame也可以讓IE用上Chrome的引擎:
<meta http-equiv=“X-UA-Compatible” content=“chrome=1″ />
  • 1

3.強制IE8使用IE7模式來解析

<meta http-equiv=“X-UA-Compatible” content=“IE=EmulateIE7″><!– IE7 mode –>
//或者
<meta http-equiv=“X-UA-Compatible” content=“IE=7″>
<!– IE7 mode –>
  • 1
  • 2
  • 3

4.強制IE8使用IE6或IE5模式來解析

<meta http-equiv=“X-UA-Compatible” content=“IE=6″><!– IE6 mode –>

<meta http-equiv=“X-UA-Compatible” content=“IE=5″><!– IE5 mode –>
  • 1
  • 2
  • 3

5.如果一個特定版本的IE支援所要求的相容性模式多於一種,如:

<meta http-equiv=“X-UA-Compatible” content=“IE=5; IE=8″ />
  • 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下正確顯示。

使IE5,IE6相容到IE7模式(推薦)

<!–[if lt IE 7]>
<script src=”http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE7.jstype=”text/javascript”></script>
<![endif]–>
使IE5,IE6,IE7相容到IE8模式
  • 1
  • 2
  • 3
  • 4
<!–[if lt IE 8]>
<script src=”http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE8.jstype=”text/javascript”></script>
<![endif]–>
使IE5,IE6,IE7,IE8相容到IE9模式
  • 1
  • 2
  • 3
  • 4
<!–[if lt IE 9]>
<script src=”http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js”></script>
<![endif]–>
解決PNG顯示問題
  • 1
  • 2
  • 3
  • 4

只需將透明png圖片命名為*-trans.png

需要注意的是:此方法對背景平鋪(background-repeat)和背景(background-position)無法起到任何作用,預設會佔滿整個容器。 
三、<meta http-equiv=”X-UA-Compatible” content=”IE=edge,chrome=1″ /> 
建立html5時發現這麼一句話,不知其什麼意思,百度如下: 
這 樣寫可以達到的效果是如果安裝了GCF,則使用GCF來渲染頁面,如果沒安裝GCF,則使用最高版本的IE核心進行渲染。Google Chrome Frame(谷歌內嵌瀏覽器框架GCF)。這個外掛可以讓使用者的IE瀏覽器外不變,但使用者在瀏覽網頁時,實際上使用的是Google Chrome瀏覽器核心,而且支援IE6、7、8等多個版本的IE瀏覽器。