各版本IE兼容问题,IE6,IE7,IE8,IE9,IE10,IE11

时间:2022-07-16 12:44:04

在网站开发和学习中,由于各种兼容性问题,让开发者挺烦恼的,我的学员也经常因为兼容问题来找我取经。

各版本IE兼容问题,IE6,IE7,IE8,IE9,IE10,IE11

事实上,IE给出了解决方案,谷歌给出了解决方案,国内著名网站百度也将这个解决方案应用于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模式来解析

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

2.强制使用IE6模式来解析

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

3.强制使用IE7模式来解析的两种方式

<meta http-equiv=“X-UA-Compatible” content=“IE=EmulateIE7″>2   <meta http-equiv=“X-UA-Compatible” content=“IE=7″>

强制使用IE8模式来解析

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

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

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

6.如果一个特定版本的IE支持所要求的兼容性模式多于一种,如下代码就是IE5和IE8两种模式:

<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文件使微软Internet信息服务(IIS)来定义一个自定义页眉自动使用IE7模式编译所有的页面。

有另外的解决方案,在谷歌的IE7–JS是一个JavaScript库(JS库,解决了IE与W3C标准之间的冲突),使微软的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图片命名为*;,美中不足的是,这种方法不能发挥背景瓷砖(背景重复)和背景(背景位置)的作用默认会占满整个容器。当然你也可以使用《IE6 PNG透明终极解决方案 》中所讲的方法。

还有一种有趣的方法

创建html5时发现这么一句话,如下:

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

这样写可以达到的效果是如果安装了GCF(Google Chrome Frame 谷歌内嵌浏览器框架的简称),然后使用GCF渲染页面,如果你没有在IE浏览器中安装有,也可以使用IE内核的最高版本进行渲染。这个插件允许用户的IE浏览器看起来一样,但在浏览网页时,用户实际上使用的是谷歌浏览器浏览器内核,支持IE浏览器的多个版本,如IE6,7, 8,等。