在网站开发中不免因为各种兼容问题苦恼,针对兼容问题,其实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模式
<!–[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)无法起到任何作用,默认会占满整个容器。当然你也可以使用《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浏览器。