一行代碼解決各種IE兼容問題,IE6,IE7,IE8,IE9,IE10



原文地址:http://www.cnblogs.com/yoosou/archive/2012/07/27/2612443.html

問題來源:登錄頁面在360上的本地訪問和遠程訪問效果不一樣

問題根源:

本地瀏覽的時候,360默認使用IE8標準。而服務器瀏覽的時候,360默認採用IE7標準。不信你可以在服務器瀏覽的時候,在360瀏覽器中按F12,右上方有選擇IE7還是IE8標準。但這樣只是自己欺騙了自己而已,作爲前端開發者,最好還是要兼容6大瀏覽器

解決方案參考:



x-ua-compatible 用來指定IE瀏覽器解析編譯頁面的model

x-ua-compatible 頭標籤大小寫不敏感,必須用在 head 中,必須在除 title 外的其他 meta 之前使用。
1、使用一行代碼來指定瀏覽器使用特定的文檔模式。
<meta http-equiv="x-ua-compatible" content="IE=9" >
<meta http-equiv="x-ua-compatible" content="IE=8" >
<meta http-equiv="x-ua-compatible" content="IE=7" >
 
2、在一些情況下,我們需要限定瀏覽器對文檔的解析到某一特定版本,或者將瀏覽器限定到一些舊版本的表現中。可以用如下的方式:
<meta http-equiv="x-ua-compatible" content="IE=EmulateIE9" >
<meta http-equiv="x-ua-compatible" content="IE=EmulateIE8" >
<meta http-equiv="x-ua-compatible" content="IE=EmulateIE7" >
 
使用這種寫法,瀏覽器或者使用標準模式進行解析,或者使用 IE5 Quirks 模式進行解析。
 
3、爲了測試,我們也可以使用下面的語句指定瀏覽器按照最高的標準模式解析頁面。
<meta http-equiv="x-ua-compatible" content="IE=edge" >
 
4、多個模式的指定。我們可以用逗號分割多個版本,這種情況下,瀏覽器會從這個列表中選擇一個他所支持的最高版本來使用標準模式進行渲染。如下面的例子,在IE8進行瀏覽時,將會使用IE7的標準模式進行渲染,因爲他本身不支持IE9和IE10。
<meta http-equiv="x-ua-compatible" content="IE=7,9,10" >
參考:



一行代碼解決各種IE兼容問題,IE6,IE7,IE8,IE9,IE10

2012-04-25 16:29:04| 分類: 學習 |字號 訂閱
在網站開發中不免因爲各種兼容問題苦惱,針對兼容問題,其實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>

可以打開百度,右鍵查看源碼看下!我們可以看下文件頭是否存在這樣一行代碼!

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

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

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

<meta http-equiv=“X-UA-Compatible” content=“chrome=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 –>
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 –> 
5.如果一個特定版本的IE支持所要求的兼容性模式多於一種,如:

<meta http-equiv=“X-UA-Compatible” content=“IE=5; IE=8″ />
二.設定網站服務器以指定預設兼容性模式

如果服務器是自己的話,可以在服務器上定義一個自訂標頭來爲它們的網站預設一個特定的文件兼容性模式。這個特定的方法取決於你的網站服務器。

錄入,下列的 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.js” type=”text/javascript”></script>
<![endif]–>
使IE5,IE6,IE7兼容到IE8模式

<!–[if lt IE 8]>
<script src=”http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE8.js” type=”text/javascript”></script>
<![endif]–>
使IE5,IE6,IE7,IE8兼容到IE9模式

<!–[if lt IE 9]>
<script src=”http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js”></script>
<![endif]–>
解決PNG顯示問題

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

需要注意的是:此方法對背景平鋪(background-repeat)和背景(background-position)無法起到任何作用,默認會佔滿整個容器。

轉載:http://hi.baidu.com/myplan/blog/item/cdb09dfa1fa748a99f514626.html


三、<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瀏覽器。
http://blog.csdn.NET/abxn2002/article/details/7312459

發佈了42 篇原創文章 · 獲贊 6 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章