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