只借助 HTML分别禁用IE8, IE9的兼容视图模式(Compatibility View)

从 IE 8 开始,IE 添加了兼容模式,开启后会以低版本的 IE 进行渲染。但是有时这样会导致网页出问题,于是我们通常在 html 中添加下列代码来使 IE 使用固定的渲染模式:

<meta http-equiv="X-UA-Compatible" content="IE=8"> <!--以IE8模式渲染-->
<meta http-equiv="X-UA-Compatible" content="IE=7"> <!--以IE7模式渲染-->

但是我就遇到了一种情况,在 IE8 下只有不使用兼容模式页面才能显示正常,但是如果设定为 IE8 的模式,在 IE9 中却会导致 CSS3 失效。看来,我需要完全禁用兼容模式。怎么办呢?可以在后台判断浏览器版本,如果是 IE8 就输出content="IE=8",如果是 IE9 就输出 content="IE=9"。但是这样 html 是无法实现的。其实,可以单纯使用下面的代码来实现:

<meta http-equiv="X-UA-Compatible" content="IE=EDGE">

我测试后完全解决了问题。这样设置后,IE 中设置兼容模式的按钮也会消失。你可以按 F12 打开开发模式来检查。

本文作者为,最后修订于

讨论