正文

互操作性與兼容性(4)

IE8 & 9開發(fā)實戰(zhàn):基于下一代IE的應用開發(fā) 作者:(美)克羅利


  

2.2  文檔模式與版本控制

并不是所有網(wǎng)頁都是為最新Web標準設計的,有很多網(wǎng)頁實現(xiàn)了IE特有的功能,由于IE 8向互操作性方向的遷移,這些功能可能會被破壞。本節(jié)介紹兼容性功能,利用這些兼容性功能,Web應用程序可以繼續(xù)使用早期IE版本中提供的功能,為這些應用程序的開發(fā)人員提供一個緩沖期,在自己合適的時間內(nèi)將這些應用程序遷移到符合標準的實現(xiàn)方式。

2.2.1  Quirks模式、文檔模式和X-UA-Compatible

自從出現(xiàn)瀏覽器和Web標準本身以來,各個Web瀏覽器版本之間的標記解釋方法就在發(fā)生變化。在IE 4與Netscape 4之間發(fā)生第一次瀏覽器戰(zhàn)爭之后,給新瀏覽器們留下了一個爛攤子:它們要處理的網(wǎng)頁中對什么是標記和樣式給出了各種不同解釋(之所以會存在這種情況,是因為在20世紀90年代末期,各種瀏覽器的實現(xiàn)方式之間存在沖突)。沒有一種方法能夠判斷一個網(wǎng)頁正在做什么,也無從知道它為什么要這樣做,而由于現(xiàn)有網(wǎng)頁都嚴重依賴于舊網(wǎng)頁的行為,所以更加現(xiàn)代化的標準也胎死腹中。最終,人們創(chuàng)建了DOCTYPE標頭,使Web開發(fā)人員能夠“告訴”瀏覽器,這些網(wǎng)頁最初是為哪種標準和實現(xiàn)方式創(chuàng)建的。

這只是一種臨時解決辦法。在20世紀中期,發(fā)生了3個重要事件:被廣泛采用的Web瀏覽器數(shù)目大幅增加,開發(fā)人員開始構(gòu)建更復雜的Web應用程序,瀏覽器供應商之間的互操作性和標準化工作得到了推進。新發(fā)展起來的瀏覽器,例如Safari和Firefox,因為其面世相對較晚,所以更嚴格地遵守了較新標準;而另一方面,IE則落后,支持那些依賴于較舊標準的舊應用程序和企業(yè)應用程序。IE 8是這個瀏覽器第一次嘗試跟上這些較新標準的步伐,但是就像20世紀90年代一樣,再次出現(xiàn)了如何處理舊網(wǎng)頁這一問題。

IE 8添加了“文檔模式”作為第二指令集,開發(fā)人員可以利用這些指令來告訴IE如何處理舊網(wǎng)頁。它們可以通過X-UA-Compatible HTTP響應頭或者相應的<meta>標記來規(guī)定。在默認情況下不會采用DOCTYPE,但開發(fā)人員也可以選擇使用這一較早的版本控制模型。

2.2.2  文檔模式

文檔模式是一些指令,告訴IE應當應用哪些原有兼容性措施(如果有的話)。由于從IE 6開始,IE的頁面顯示和標準支持程度方面發(fā)生了功能性變化,所以很多應用程序都是針對較早版本而不是Web標準編寫的。盡管在IE 8及更高版本中,以“默認打開”標準模式呈現(xiàn),但IE提供了大量可供頁面選擇的模式,從而使得這些頁面的分析和顯示方式與其設計目的一致。

IE 8包含了對大量文檔模式的支持,這些模式中就包括Quirks模式(其行為類似于IE 5)。這些模式希望能夠模擬所面向的IE版本,而且每種模式對DOCTYPE的支持程度各有不同(見表2-3)。

表2-3  IE 8中可以使用的文檔模式

總是選擇一個IE版本中最新的標準解釋(例如,在IE 9上選擇IE 9標準模式)

與每種文檔模式相關聯(lián)的頭值供網(wǎng)頁用于定位一個特定的文檔模式。在以下各節(jié)將討論如何使用這些值。


上一章目錄下一章

Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號