由于Internet Explorer的每個(gè)版本的工作方式不盡相同(IE6和IE7約有超過(guò)25%的用戶(hù)),因此除了在主流瀏覽器的最新版本中測(cè)試Web頁(yè)面外,還需要在這些較老版本中測(cè)試。我們知道這很痛苦,但又必須去做。幸運(yùn)的是,有使其變簡(jiǎn)單的方法。
1.2.1 模擬IE6和IE7
為了幫助設(shè)計(jì)Web站點(diǎn)的開(kāi)發(fā)人員專(zhuān)門(mén)針對(duì)較老版本做些工作,Internet Explorer的開(kāi)發(fā)人員創(chuàng)建了元標(biāo)記,可將其添加到Web頁(yè)面的頭部,從而讓IE知道它是較老的版本。下面是兩個(gè)主要的元標(biāo)記。
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<meta http-equiv="X-UA-Compatible" content="IE=5" />
下面是如何使用IE7標(biāo)記的例子:
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<title>My Website</title>
</head>
<body>
... Website Contents ...
沒(méi)有IE=6選項(xiàng)(可能因?yàn)镮E5和IE6的呈現(xiàn)引擎是類(lèi)似的),因此使用IE=5選項(xiàng)使Internet
Explorer進(jìn)入所謂的特殊模式。在該模式下,其行為類(lèi)似于IE5和IE6。
順便提一下,如果想強(qiáng)制Internet Explorer進(jìn)入完全標(biāo)準(zhǔn)模式(即盡可能與其他瀏覽器兼容),可使用選項(xiàng)IE=8?;蛘?,沒(méi)有元標(biāo)記,Internet Explorer將使用其自己的、專(zhuān)有的優(yōu)化設(shè)置,即邊緣模式——也可以選擇IE=edge。當(dāng)然,一旦完成測(cè)試,除非有特殊理由,應(yīng)刪除或注釋掉這些元標(biāo)記。
另外,應(yīng)總是確保在每個(gè)文檔的開(kāi)頭有一個(gè)合適的HTML文檔類(lèi)型聲明。例如,最常見(jiàn)的文檔類(lèi)型如下所示,它是經(jīng)過(guò)完全測(cè)試的,適用于本書(shū)中所有插件。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
提示:
如果使用不同于此的文檔類(lèi)型,特定的插件可能有不同的行為,因而必須對(duì)其稍作修改。筆者經(jīng)常使用前面所示的“松散”文檔類(lèi)型和IE7元標(biāo)記獲得與其他主流瀏覽器最大的兼容。記住,如果你的Web頁(yè)面在所有其他瀏覽器中都正常工作但在IE中行為怪異,那么解決方案就是修改文檔類(lèi)型和IE5/IE7元標(biāo)記。如果對(duì)瀏覽器兼容性和它們間各種細(xì)微差別感興趣,可訪問(wèn)Quirks Mode網(wǎng)站(quirksmode.org)。