天下大勢,分久必合
瀏覽器大戰(zhàn)
WWW之父、物理學(xué)家Tim Berners-Lee根據(jù) SGML創(chuàng)造了HTML置標(biāo)語言,隨后美國一家大學(xué)的兩個(gè)學(xué)生編寫程序?qū)崿F(xiàn)了這種語言,也就是世界上第一個(gè)瀏覽器。后來,硅谷一著名公司的高層人員辭職后找到這兩個(gè)學(xué)生,共同創(chuàng)建了一家公司,就是現(xiàn)在著名的Netscape。很快,Netscape的第一款瀏覽器面世,這是世界上第一款商用瀏覽器,并獲得巨大成功,迅速發(fā)展起來。
與此同時(shí),微軟也相中了瀏覽器這塊誘人的“蛋糕”,決定強(qiáng)勢介入,于是出現(xiàn)了IE。隨后,雙方為了爭奪市場份額,展開了長期而激烈的瀏覽器大戰(zhàn)。
為了排斥對(duì)手,保護(hù)已有的市場份額,他們各自開發(fā)了只有自己瀏覽器才能支持的私有標(biāo)記,以及私有的DOM和腳本語言。例如MSIE私有的ActiveX和基于document.all的JScript,Netscape的私有的基于document.layers的JavaScript。他們不斷的升級(jí)自己的瀏覽器版本,并向用戶“吹噓”自己新版本的特有性能。各個(gè)廠家都把所有精力專注于開發(fā)自己特有的技術(shù),自我保護(hù),甚至私自創(chuàng)建自己獨(dú)有的標(biāo)記,將標(biāo)準(zhǔn)拋在一邊。
于是,我們不得不用非標(biāo)準(zhǔn)的標(biāo)記和代碼創(chuàng)造多個(gè)版本,每一個(gè)都迎合不同瀏覽器的“癖好”,以滿足各種用戶的需要。開發(fā)者必須使用探測腳本進(jìn)行瀏覽器檢測,針對(duì)不同的瀏覽器編寫各自的腳本。此外,開發(fā)者還得寫那些需要占用兩倍帶寬的表現(xiàn)層標(biāo)記,或者提供一個(gè)難以被搜索引擎、非主流瀏覽器和設(shè)備訪問的服務(wù)頁面。這種做法是昂貴的、無效的、不可忍受的,是困擾大多數(shù)網(wǎng)站“永久淘汰”的根源。所有的這一切都源自于規(guī)則的不統(tǒng)一,自然地,解決這一切的最佳方法就是遵循Web標(biāo)準(zhǔn)。
瀏覽器大戰(zhàn)的早期,Netscape的Navigator占據(jù)優(yōu)勢。但是,在WaSP(Web標(biāo)準(zhǔn)組織)的促進(jìn)下,為了完全符合標(biāo)準(zhǔn),Netscape大膽地拋棄Navigator/ Communicator 4.0 瀏覽器和每一個(gè)遺留的過時(shí)代碼,從零開始,放棄升級(jí),重新開發(fā)一個(gè)新的瀏覽器。這開始于1998年,新瀏覽器的開發(fā)使Netscape損失了相當(dāng)大的市場,微軟的IE逐漸占了上風(fēng)。Netscape的管理者和工程師并沒有瘋狂,他們像WaSP一樣相信標(biāo)準(zhǔn),英勇地堅(jiān)持著,決心堅(jiān)持到底。許多公司并不在乎,干脆放棄了這個(gè)項(xiàng)目。他們寧愿在遺留的代碼上發(fā)布一個(gè)非標(biāo)準(zhǔn)的5.0/6.0瀏覽器,也不愿意犧牲額外的時(shí)間,更不愿意與一個(gè)厲害的競爭者分享市場,就像Microsoft。
現(xiàn)代瀏覽器
“現(xiàn)代”或“兼容標(biāo)準(zhǔn)”瀏覽器,指的是那些能夠理解并支持HTML和XHTML、CSS、ECMAScript和W3C文檔對(duì)象模型(DOM)的瀏覽器。這些基本標(biāo)準(zhǔn)能夠幫助設(shè)計(jì)師和開發(fā)者超越以前守舊的方法(表現(xiàn)標(biāo)記和不兼容性的腳本語言)及其他造成的使網(wǎng)站荒廢的陳舊方法。現(xiàn)在還沒有瀏覽器是完全支持標(biāo)準(zhǔn)的,而且也不太可能達(dá)到。但是2000年一開始,就涌現(xiàn)了一大批幾乎全面支持基本核心標(biāo)準(zhǔn)的瀏覽器。當(dāng)這些瀏覽器的升級(jí)版本投放市場時(shí),它們幾乎更具兼容性,bug也更少了。這些瀏覽器所占的市場份額在不斷地增加。現(xiàn)在,幾乎所有的Web用戶都已經(jīng)更新成下面列出的瀏覽器其中一種,或者它們的后續(xù)的改良版本。這張列表只列出了用得最多的一些瀏覽器及其主要特性。
- Opera 7
- 推出時(shí)間:2002年
- 支持HTML/XHTML嗎?:支持。
- 支持CSS嗎?:幾乎全面支持所有CSS1和大部分CSS2。
- 支持ECMAScript/DOM嗎?:支持,第一個(gè)Opera版本就已經(jīng)支持了。
- 特性:Opera的第一個(gè)版本支持W3C DOM,是第一個(gè)真正“兼容標(biāo)準(zhǔn)”的Opera版本。其公司的產(chǎn)品對(duì)最早期的標(biāo)準(zhǔn)如HTML和CSS一直都提供良好的支持。如Opera的以前的版 本一樣,Opera 7加入了頁面縮放功能,可以幫助增強(qiáng)網(wǎng)絡(luò)文檔和網(wǎng)絡(luò)圖片對(duì)于視力受損用戶的可訪問性。
- MSIE 5+/Macintosh
- 推出時(shí)間:2001年
- 支持HTML/XHTML嗎?:支持
- 支持CSS嗎?:支持全部CSS1,部分支持CSS2。
- 支持ECMAScript/DOM嗎?:支持
- 特性:2001年3月第1個(gè)“兼容標(biāo)準(zhǔn)”瀏覽器投放市場。它是第一個(gè)正確支持JavaScript/DOM的IE/Mac版本,第一個(gè)在任何平臺(tái)上都可以正確支持CSS盒模型的瀏覽器。文本的縮放功能幫助增強(qiáng)網(wǎng)絡(luò)文檔對(duì)視力受損用戶的可訪問性。支持用戶樣式表。瀏覽器的用于提高對(duì)標(biāo)準(zhǔn)的支持的Tasman表現(xiàn)引擎面世,IE5/Macintosh對(duì)DOM的支持非常良好,但是并不全面。運(yùn)行速度很慢,有時(shí)候出現(xiàn)的奇怪行為令動(dòng)態(tài)文檔的制作者們抓狂。瀏覽器支持基本的DOM功能,從標(biāo)準(zhǔn)的角度來說,整體品質(zhì)還是很不錯(cuò)的。
- Netscape 6+
- 推出時(shí)間:2001年
- 支持HTML/XHTML嗎?:支持。
- 支持CSS嗎?:支持全部CSS1,大部分CSS2。
- 支持ECMAScript/DOM嗎?:基本上支持,雖然有些位數(shù)是奇數(shù),相對(duì)于IE/Windows,它的動(dòng)態(tài)色彩刷新的速度很慢。
- 特性:基于Gecko的瀏覽器,完全支持網(wǎng)絡(luò)標(biāo)準(zhǔn)CSS,XML,XHTML,DOM和ECMAScript(如Tasman,Gecko是支持核心網(wǎng)絡(luò)標(biāo)準(zhǔn)的一個(gè)表現(xiàn)引擎。Tasman只適合Macintosh,而Gecko適合所有平臺(tái))。早期的Netscape 6.0版本有一些bug,后來的版本要好些,7.0和更高的版本都很出色。為增強(qiáng)可訪問性而加入了文本縮放功能,支持用戶樣式表和可選樣式表,從Netscape7.01開始,支持自動(dòng)彈出廣告屏檔。
- Mozilla 1.0
- 推出時(shí)間:2002年,Moz1.0是2002年5月推出的,最早的Mozilla 要追溯到1996年左右。
- 支持HTML/XHTML嗎?:支持
- 支持CSS嗎?:支持全部CSS1,部分支持CSS2。
- 支持ECMAScript/DOM嗎?:見DOM在Netscape 6+里的說明。
- 特性:開放源代碼的基于Gecko瀏覽器完全支持網(wǎng)絡(luò)標(biāo)準(zhǔn)。為增強(qiáng)可訪問性而加入了文本縮放功能,支持用戶樣式表和可選樣式表。基于Mozilla 瀏覽器還包括Chimera/Camino和Phoenix,但是Mozilla 不僅僅用于瀏覽。你可以用Gecko和開放源代碼的Mozilla 基本代碼創(chuàng)建超越傳統(tǒng)臺(tái)式瀏覽器的新應(yīng)用程序(例如,用Mozilla 和Java制作的電視置頂盒)。
- Safari
- 推出時(shí)間:2002年下半年
- 支持HTML/XHTML嗎?:支持。
- 支持CSS嗎?:似乎支持大部分CSS1,一部分CSS2,有時(shí)候支持的方式很奇怪。
- 支持ECMAScript/DOM嗎?:基本上支持。
- 特性:它是蘋果電腦為OS X用戶創(chuàng)建的,基于開放源碼KHTML引擎。在大部分站點(diǎn)上,輕便、高速、精確。雖然現(xiàn)在還屬于二流瀏覽器,但是已經(jīng)被上百萬的Macintosh用戶使用。加入了文本縮放功能一提高可訪問性。還收入了快捷Bug報(bào)告按鈕,可以快速修復(fù)CSS,XHTML或腳本里的錯(cuò)誤。
- MSIE 6/Windows
- 推出時(shí)間:2001年
- 支持HTML/XHTML嗎?:支持。
- 支持CSS嗎?:支持大部分CSS1,部分CSS2。
- 支持ECMAScript/DOM嗎?:基本上支持,但是需要一些專門的輔助程序。這些輔助程序只為IE6/Windows編寫一些代碼。一般沒有必要用輔助程序編寫代碼,除非呢要?jiǎng)?chuàng)建一個(gè)只用IE的內(nèi)部網(wǎng)站,而且即使這樣,也最好用標(biāo)準(zhǔn)DOM,以防將來把網(wǎng)站的特性和部分轉(zhuǎn)移到公共網(wǎng)站空間而產(chǎn)生問題。
- 特性:IE6/Windows版本適應(yīng)范圍最廣的瀏覽器,也是目前網(wǎng)絡(luò)使用最多的瀏覽器,部分原因是它是唯一的操作系統(tǒng)內(nèi)置瀏覽器,當(dāng)與Windows XP Clear Type配合使用時(shí),顯示文檔的效果非常好。不包含文本縮放或頁面縮放,不支持可選樣式表。視力受損用戶可以通過設(shè)置“輔助功能”里的“忽略文檔字號(hào)”來提高可訪問性。但是這種“要么全有,要么全無”的選擇沒有其他標(biāo)準(zhǔn)兼容瀏覽器提供的文本縮放和頁面縮放方便好用。 IE6/Windows用戶可以通過給瀏覽器添加一個(gè)窗口小部件來調(diào)整文檔字號(hào),但是不能調(diào)整某些字號(hào)設(shè)置方式設(shè)置的字體。(例如,用像素設(shè)置的文檔在IE 6/Windows上就不能調(diào)整大小),而在IE5+/Macintosh、Mozilla、Netscape 6+、Opera和Chimera上,無論是用特殊方式設(shè)置的文檔,其字號(hào)都是可以調(diào)整的。
- MSIE5.5/Windows
- 推出時(shí)間:2001年
- 支持HTML/XHTML嗎?:支持。
- 支持CSS嗎?:大部分支持(但是有一些大bug)
- 支持ECMAScript/DOM嗎?:不太支持。
- 特性:理解標(biāo)準(zhǔn),過去是很不錯(cuò)的瀏覽器,但是它的CSS的bug和腳本漏洞使它的兼容性沒有其他所列的瀏覽器高。本書的第二部分內(nèi)容“設(shè)計(jì)和建造”里介紹了關(guān)于怎樣解決CSS的bug問題。
- MSIE5/Windows
- 推出時(shí)間:1999年
- 支持HTML/XHTML嗎?:支持,雖然有些漏洞。
- 支持CSS嗎?:一點(diǎn)點(diǎn),但是有大bug和漏洞。
- 支持ECMAScript/DOM嗎?:一點(diǎn)點(diǎn)。
- 特性:見IE5.5說明。
- Netscape 4
- 推出時(shí)間:1997年
- 支持HTML/XHTML嗎?:只是部分支持。
- 支持CSS嗎?:幾乎不支持。
- 支持ECMAScript/DOM嗎?:不支持。
- 特性:它是在瀏覽器競爭激烈的時(shí)候推出的,曾經(jīng)是功能強(qiáng)大的瀏覽器,只支持專門的代碼和標(biāo)記,不支持標(biāo)準(zhǔn),幾乎不支持CSS,所以它對(duì)基本HTML的支持也不出色。不支持DOM因?yàn)镈OM那時(shí)候還沒被寫出來——而且就算那個(gè)時(shí)候DOM已經(jīng)出現(xiàn)了,它也可能不支持,因?yàn)樵跒g覽器競爭激烈的時(shí)期,Netscape和微軟都堅(jiān)信只有犧牲標(biāo)準(zhǔn),發(fā)明新技術(shù)才能“取勝”。雖然大部分用戶都已經(jīng)升級(jí)為Netscape 6+或是其他的,如MSIE、Opera瀏覽器,還是有一些用戶出于這樣那樣的原因沒有升級(jí)。因?yàn)檫€有用戶堅(jiān)持用它們,還因?yàn)樗鼈儗?duì)標(biāo)準(zhǔn)不令人滿意的支持,很多設(shè)計(jì)師和開發(fā)者覺得要繼續(xù)采取過時(shí)的方法來“支持”不斷減少的這部分用戶。但是本書證明,可以在使用標(biāo)準(zhǔn)的同時(shí)支持Netscape 4和任何用戶。
- MSIE 4
- 推出時(shí)間:1997年
- 支持HTML/XHTML嗎?:Netscape 4支持得多一些,但不是很多。
- 支持CSS嗎?:Netscape 4支持得多一些。
- 支持ECMAScript/DOM嗎?:不支持。
- 特性:它是在瀏覽器競爭激烈的時(shí)候推出的,支持專門的代碼和標(biāo)記,不支持標(biāo)準(zhǔn)。幾乎所有的IE 4用戶后來都升級(jí)為最新的版本,部分原因是微軟吧瀏覽器和操作系統(tǒng)捆綁在一起。例如,從Windows 95升級(jí)到Windows XP,你就需要不斷的從IE 4轉(zhuǎn)換到IE 6.雖然從標(biāo)準(zhǔn)的角度來說,IE 4沒有IE 6“好”,但是對(duì)于開發(fā)者來說,IE 4產(chǎn)生的問題更少,因?yàn)镮E 4用得少。
注意:關(guān)于這一部分顯然有些過時(shí),IE已經(jīng)到了7,2.0.0.9的Firefox核心是Mozilla 5.0,Opera的最新版本則是9.50 beta,但是上面的數(shù)據(jù)還是很有一定的借鑒價(jià)值!最新的瀏覽器支持情況正在整理中……
其他網(wǎng)絡(luò)設(shè)備
- 文本瀏覽器
- 又稱“非圖形瀏覽器”,與現(xiàn)在主流的瀏覽器(圖形瀏覽器)相比,最大的不同是只能顯示文本,不能顯示圖像等多媒體信息。常見的文本瀏覽器有Lynx (www.delorie.com)。在某些情況下,你可以使用這些瀏覽器查看一下你的網(wǎng)頁的效果,以驗(yàn)證網(wǎng)站的可訪問性。
- 屏幕閱讀器
- 屏幕閱讀器主要供殘障人士(主要是有視力障礙者)使用,可以大聲朗讀站點(diǎn)的內(nèi)容,當(dāng)然,主要是文本內(nèi)容。
此外,使用Palm Pilots、PDA、智能手機(jī)等非傳統(tǒng)設(shè)備上網(wǎng)瀏覽信息,也正日益流行。
天下歸一
諸多現(xiàn)象表明,Web標(biāo)準(zhǔn)的回歸和統(tǒng)一,已成歷史的必然!