為了處理根據(jù)Web標(biāo)準(zhǔn)創(chuàng)作的網(wǎng)頁和根據(jù)盛行于20世紀(jì)90年代末的舊時(shí)實(shí)踐創(chuàng)作的網(wǎng)頁,當(dāng)代的Web瀏覽器實(shí)現(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的瀏覽器。避免提及瀏覽器引擎的名字,取而代之的是使用該引擎最知名瀏覽器的名字。
本文著重介紹模式的選擇機(jī)制,而不是記錄每個(gè)模式的確切行為。
模式
以下是各種不同的模式:
內(nèi)容類型為text/html的模式
text/html內(nèi)容的模式選擇取決于doctype嗅探(doctype sniffing,本文后面有討論)。在IE8中,模式也取決于其他因素。然而在IE8的默認(rèn)情況下,那些不在微軟提供黑名單上的非局域網(wǎng)(non- intranet)站點(diǎn)的模式取決于文檔類型。
再怎么強(qiáng)調(diào)每個(gè)瀏覽器中模式精確行為的不同也是不過分的,即使本文中進(jìn)行了統(tǒng)一的討論。
- 怪癖模式(Quirks Mode)
- 怪癖模式中,為了避免“破壞”那些根據(jù)盛行于20世紀(jì)90年代末的舊時(shí)實(shí)踐創(chuàng)作的頁面,瀏覽器違背了當(dāng)代的Web格式規(guī)范。不同的瀏覽器實(shí)現(xiàn)了不同的怪癖行為。Internet Explorer6、7和8中,怪癖模式有效地凍結(jié)在IE5.5 。其他瀏覽器中,怪癖模式是對(duì)幾乎標(biāo)準(zhǔn)模式的少量偏移。
- 如果正在創(chuàng)作新網(wǎng)頁,你應(yīng)該符合相關(guān)的規(guī)范(特別是CSS2.1)且使用標(biāo)準(zhǔn)模式。
-
- 標(biāo)準(zhǔn)模式(Standards Mode)
- 標(biāo)準(zhǔn)模式中,瀏覽器嘗試給符合標(biāo)準(zhǔn)的文檔在規(guī)范上的正確處理達(dá)到在指定瀏覽器中的程度。
- 不同的瀏覽器遵循不同的階段,所以標(biāo)準(zhǔn)模式也不是一個(gè)單一目標(biāo)。
- HTML5把這種模式叫“非怪癖模式(no quirks mode)”
- 幾乎標(biāo)準(zhǔn)模式(Almost Standards Mode)
- irefox、Safari、Chrome、Opera(從7.5開始)和IE8也有個(gè)叫“幾乎標(biāo)準(zhǔn)模式”的模式,它按照傳統(tǒng)的做法來實(shí)現(xiàn)表格單元格的垂直尺寸而不是嚴(yán)格的遵照CSS2規(guī)范。Mac IE5、Windows IE6和7、Opera7.5以前版本和Konqueror無需幾乎標(biāo)準(zhǔn)模式,因?yàn)樗鼈冎辽贈(zèng)]有在各自的標(biāo)準(zhǔn)模式下嚴(yán)格遵循CSS2規(guī)范來實(shí)現(xiàn)表格單元格垂直尺寸。實(shí)際上,它們的標(biāo)準(zhǔn)模式更接近Mozilla的幾乎標(biāo)準(zhǔn)模式而不是Mozilla的標(biāo)準(zhǔn)模式。
- HTML5把這種模式叫著“受限怪癖模式(limited quirks mode)”。
-
- IE7模式
- IE8有個(gè)模式主要是凍結(jié)了IE7標(biāo)準(zhǔn)模式的副本。其他瀏覽器沒有像這樣的模式,且該模式也未被HTML5指定。
內(nèi)容類型為application/xhtml+xml的模式(XML模式)
Firefox、Safari、Chrome和Opera中,application/xhtml+xml HTTP內(nèi)容類型(不是meta元素也不是doctype!)會(huì)觸發(fā)XML模式。在XML模式中,瀏覽器嘗試給XML文檔在規(guī)范上的正確處理達(dá)到在制定瀏覽器中的程度。
E6、7和8不支持application/xhtml+xml,Mac IE5也如此。
基于WebKit的Nokia S60 瀏覽器中,application/xhtml+xml HTTP內(nèi)容類型不能觸發(fā)XML模式,因?yàn)樵谝苿?dòng)的圍墻花園(mobile walled gardens)中關(guān)注點(diǎn)是對(duì)不規(guī)范內(nèi)容的兼容性。(舊式的“移動(dòng)瀏覽器”無法使用真正的XML解析器,因?yàn)椴灰?guī)范內(nèi)容已被標(biāo)記為XML。)
由于沒有充分地測試Konqueror,我無法確切說出在這個(gè)瀏覽器中會(huì)發(fā)生什么。
出處:隨網(wǎng)之舞
責(zé)任編輯:bluehearts
上一頁 下一頁 用doctype激活瀏覽器模式 [2]
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|