為了處理根據(jù)web標準創(chuàng)作的網(wǎng)頁和根據(jù)盛行于20世紀90年代末的舊時實踐創(chuàng)作的網(wǎng)頁,當(dāng)代的web瀏覽器實現(xiàn)了各種不同的引擎模式。本文說明了那些模式是什么以及如何觸發(fā)它們。
原文:henri sivonen的activating browser modes with doctype
本文包括的模式轉(zhuǎn)換(mode switching)適用于firefox和其他基于gecko的瀏覽器,safari、chrome和其他基于webkit的瀏覽器,opera、 konqueror、mac版internet explorer、windows版internet explorer和內(nèi)嵌ie的瀏覽器。避免提及瀏覽器引擎的名字,取而代之的是使用該引擎最知名瀏覽器的名字。
本文著重介紹模式的選擇機制,而不是記錄每個模式的確切行為。
以下是各種不同的模式:
text/html內(nèi)容的模式選擇取決于doctype嗅探(doctype sniffing,本文后面有討論)。在ie8中,模式也取決于其他因素。然而在ie8的默認情況下,那些不在微軟提供黑名單上的非局域網(wǎng)(non- intranet)站點的模式取決于文檔類型。
再怎么強調(diào)每個瀏覽器中模式精確行為的不同也是不過分的,即使本文中進行了統(tǒng)一的討論。
firefox、safari、chrome和opera中,application/xhtml+xml http內(nèi)容類型(不是meta元素也不是doctype!)會觸發(fā)xml模式。在xml模式中,瀏覽器嘗試給xml文檔在規(guī)范上的正確處理達到在制定瀏覽器中的程度。
e6、7和8不支持application/xhtml+xml,mac ie5也如此。
基于webkit的nokia s60 瀏覽器中,application/xhtml+xml http內(nèi)容類型不能觸發(fā)xml模式,因為在移動的圍墻花園(mobile walled gardens)中關(guān)注點是對不規(guī)范內(nèi)容的兼容性。(舊式的“移動瀏覽器”無法使用真正的xml解析器,因為不規(guī)范內(nèi)容已被標記為xml。)
由于沒有充分地測試konqueror,我無法確切說出在這個瀏覽器中會發(fā)生什么。
新聞熱點
疑難解答