由于Internet Explorer的每个版本的工作方式不尽相同(IE6和IE7约有超过25%的用户),因此除了在主流浏览器的最新版本中测试Web页面外,还需要在这些较老版本中测试。我们知道这很痛苦,但又必须去做。幸运的是,有使其变简单的方法。
1.2.1 模拟IE6和IE7
为了帮助设计Web站点的开发人员专门针对较老版本做些工作,Internet Explorer的开发人员创建了元标记,可将其添加到Web页面的头部,从而让IE知道它是较老的版本。下面是两个主要的元标记。
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<meta http-equiv="X-UA-Compatible" content="IE=5" />
下面是如何使用IE7标记的例子:
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<title>My Website</title>
</head>
<body>
... Website Contents ...
没有IE=6选项(可能因为IE5和IE6的呈现引擎是类似的),因此使用IE=5选项使Internet
Explorer进入所谓的特殊模式。在该模式下,其行为类似于IE5和IE6。
顺便提一下,如果想强制Internet Explorer进入完全标准模式(即尽可能与其他浏览器兼容),可使用选项IE=8。或者,没有元标记,Internet Explorer将使用其自己的、专有的优化设置,即边缘模式——也可以选择IE=edge。当然,一旦完成测试,除非有特殊理由,应删除或注释掉这些元标记。
另外,应总是确保在每个文档的开头有一个合适的HTML文档类型声明。例如,最常见的文档类型如下所示,它是经过完全测试的,适用于本书中所有插件。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
提示:
如果使用不同于此的文档类型,特定的插件可能有不同的行为,因而必须对其稍作修改。笔者经常使用前面所示的“松散”文档类型和IE7元标记获得与其他主流浏览器最大的兼容。记住,如果你的Web页面在所有其他浏览器中都正常工作但在IE中行为怪异,那么解决方案就是修改文档类型和IE5/IE7元标记。如果对浏览器兼容性和它们间各种细微差别感兴趣,可访问Quirks Mode网站(quirksmode.org)。