在IE8中使用X-UA-Compatible来实现兼容

得知微软公司将停止对IE7、IE6的更新,觉得微软有点太急于求成了,必竟IE8也刚发布没多久,在用户中的口碑也不是太好,而且现在中国的网页也才刚开始重视标准,有的页面在IE7下面有时都会显示不正常,更何况才发布的IE8呢?在中国也存在另一个问题,就是盗版问题。很多盗版的用户为了不让微软公司发现,他们会将系统设置成不更新,这样IE6、IE7、IE8在中国并存的局面将持续很长一段时间。再加上其它浏览器,如火狐、Opera、Safari、谷歌浏览器等,还要做出兼容的页面,这让前端开发人员怎么活呀!还好微软给IE8提供了好几种方法,可以使IE8以IE7,甚至IE5的Quirks渲染模式来呈现页面,这里主要谈下在前端的实现方法。

首先要说下IE的各种兼容性模式,以下是来自微软官方网站的资料:

Windows Internet Explorer 8 支持多种兼容性模式,它们可启用不同的受支持的功能,并影响内容的呈现方式。例如,

IE5 模式呈现内容时,像是使用了 Windows Internet Explorer 7 的 Quirks 模式,这与 Windows Internet Explorer 5 显示内容的方式很相似。

IE7 模式呈现内容时,无论页面是否包含<!DOCTYPE>指令,都像是使用了 Windows Internet Explorer 7 的标准模式。

EmulateIE7 模式通知 Windows Internet Explorer 使用<!DOCTYPE>指令确定如何呈现内容。标准模式指令以 Windows Internet Explorer 7 标准模式显示,而 Quirks 模式指令以 IE5 模式显示。与 IE7 模式不同,EmulateIE7 模式遵循<!DOCTYPE>指令。对于多数网站来说,它是首选的兼容性模式。

而要想页面在IE8中以低版本IE的模式渲染呈现,就要在页面的头部加一个META标签,把它的http-equiv属性设置成为X-UA-Compatible,再把它的content属性设置成你想要的渲染模式。如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>在IE8中使用X-UA-Compatible来实现兼容</title>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
</head>
<body>
<p>此内容在IE8中将以接近于IE7的渲染模式呈现!</p>
</body>
</html>

上面这个例子将告知IE8以IE7的模式来渲染呈现网页,你也可以把content属性设置成IE=5、IE=7或IE=8等。

需要注意的是这种方法只能让IE8的渲染模式接近于IE7或者IE5,但并不一定能百分之百地达到。另外你也可以在服务器端设置IE8的渲染模式,也可以使用JS脚本来设置,更多详情请查阅微软官方网站的《未来兼容性中的 META 标记和锁定》一文。

此条目发表在 前端 分类目录,贴了 , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已被标记为 *

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>