IE6殲滅戰(zhàn):戰(zhàn)場在哪里?
原創(chuàng)【51CTO觀察】2010年,國內(nèi)外各大瀏覽器廠商都戰(zhàn)報不斷:眾人關(guān)注的IE9以一反微軟常態(tài)的速度在短短數(shù)月之內(nèi)扔出了4個預(yù)覽版和據(jù)說將在本月發(fā)布的Beta版;火狐在完成3.6之后異常積極的投入到Firefox 4的開發(fā)當(dāng)中;谷歌的Chrome從年初的4.0一路蹦跳到前不久的7.0(Dev版),先后加入了插件支持、Linux/Mac支持等重要特性,Stable分支也剛剛步入了6.0,一鼓作氣的勁頭十分明顯;Opera從10.50,10.60一直進發(fā)到現(xiàn)在處于開發(fā)階段中的10.70;蘋果在Safari 4.0之后沉寂了兩年后發(fā)布了Safari 5;國內(nèi)方面,傲游3.0在前幾日剛剛正式發(fā)布;搜狗瀏覽器也改了個名字,以搜狗高速瀏覽器2代的身份登場,這兩款瀏覽器同時也都是Webkit+IE雙核瀏覽器的先鋒代表;QQ瀏覽器5(也就是TT瀏覽器的下一個正式版本)的Beta也已經(jīng)推出,同樣是Webkit+IE的雙核模式;360瀏覽器也從3.1穩(wěn)步更新至3.3。更不用說還有無數(shù)小的瀏覽器廠商,在這紛紛擾擾的瀏覽器市場中此起彼伏。總之,就是一副戰(zhàn)國群雄爭霸的場面,而且2010年正處于這個戰(zhàn)國年代的活躍期。
2010年還有一件大事,就是在全球瀏覽器市場曾經(jīng)穩(wěn)坐了五年王座、市場占有率一度超越80%、現(xiàn)在在全球的市場占有率仍保有10%的IE6,終于被微軟官方鑒定了死亡狀態(tài)并舉行了葬禮。
而所有這一切有關(guān)瀏覽器事件的背后,還有一個總是被人念起的名字:HTML 5標(biāo)準(zhǔn)。每一個大牌瀏覽器出新版本的時候,其特性列表中總是有一條提到:“這個版本開始支持HTML 5中的某某特性”,無一例外,仿佛不提HTML 5就土老冒趕不上時髦了一樣。這不,Google剛剛在周四舉辦了一場互聯(lián)網(wǎng)開發(fā)技術(shù)交流會,DevFest 2010。
DevFest 2010
本期交流會的主題是下一代Web標(biāo)準(zhǔn)和瀏覽器發(fā)展趨勢,這其中的“下一代Web標(biāo)準(zhǔn)”,所指的就是HTML 5啦。
DevFest 2010 互聯(lián)網(wǎng)開發(fā)技術(shù)交流會
大會的主題演講很好玩,有很多很有意思的演示:
人人網(wǎng)的六度空間,完全用HTML 5實現(xiàn)
iPhone 4上使用Google地圖,利用HTML 5的GeoLocation識別持有者的地理位置
淘寶網(wǎng)利用HTML 5實現(xiàn)的清單效果
還有就是,傳說中的Google Web應(yīng)用商店
等等等等,總之是十分的炫。現(xiàn)場最火爆的場面莫過于上面這位林斌老大在瀏覽器里玩起3D的Quake,以及現(xiàn)在流行的植物大戰(zhàn)僵尸時的游戲體驗。Quake的代碼可以在Google Code上找到,植物大戰(zhàn)僵尸則是Flash版本,很容易找到,有興趣的可以自己玩玩看。
然后,在看完所有這些華麗的演示之后,主題轉(zhuǎn)移到了瀏覽器上面。這次Google拉來了幾乎是我們所知道的大部分瀏覽器廠商的大佬們過來做客:
以上,從左到右分別是:
Google Chrome產(chǎn)品研發(fā)技術(shù)總監(jiān) 李曦,也是本論壇的主持人
來自O(shè)pera挪威總部的Web Evangelist 謝子斌
世界之窗瀏覽器創(chuàng)始人、360瀏覽器開發(fā)總監(jiān) 謝震平
搜狗瀏覽器技術(shù)總監(jiān) 楊洪濤
Mozilla Firefox在北京的總經(jīng)理 過元錚
傲游瀏覽器技術(shù)總監(jiān) 曾偉宏
QQ瀏覽器產(chǎn)品副總監(jiān) 劉鐘書
UC的技術(shù)總監(jiān) 江蔚然
根據(jù)主持人的介紹,本次其實也邀請了IE和Safari,不過對方由于各種各樣的原因而最終未能參與。而此事直接的結(jié)果就是(以下為精簡+夸張版,僅供讀者參考以用于想象現(xiàn)場情況):
主持人(Chrome):“您認(rèn)為現(xiàn)在在推廣HTML 5這個下一代Web標(biāo)準(zhǔn)的過程中,最大的阻礙是什么?”
Opera:IE。
世界之窗/360:……(默認(rèn))。
搜狗:我同意。
Firefox:當(dāng)然。
傲游:+1。
QQ:不能否認(rèn)。
UC:……(手機上沒有IE,讓我怎么說?)
當(dāng)然了,雖然說IE6/7/8全都互相不兼容,與其他幾個瀏覽器也不怎么兼容;不過按照個人的理解,這位來自O(shè)pera的老兄真正想說的只是IE6而已。雖然這一個多小時的瀏覽器論壇討論了很多話題,但是基本給我的感覺就是:這是一場蓄謀已久的、準(zhǔn)備充分的IE6殲滅戰(zhàn)。
#p#
IE6招誰惹誰了?
瀏覽器是一個軟件,適用程度與操作系統(tǒng)一樣廣泛。如同操作系統(tǒng)是軟件的平臺一樣,瀏覽器則是網(wǎng)絡(luò)內(nèi)容的平臺。因此,從技術(shù)層面而言,瀏覽器牽扯到了三個層面的人群:瀏覽器開發(fā)者、Web開發(fā)者、以及最終用戶。如果延伸到技術(shù)之外的話,則還牽扯到瀏覽器廠商(包括其下的運營和推廣團隊)、網(wǎng)站/Web產(chǎn)品運營者、IT媒體等等。
IE6,全稱Internet Explorer 6,誕生于Windows XP推出后不久的2001年。憑借著其綁定的Windows XP的成功,IE6在2002年到2003年間創(chuàng)下了超過80%的全球瀏覽器市場占有率,擊敗了當(dāng)時的另一大瀏覽器NetScape。之后的五年是IE6打遍天下無敵手、天天吃香喝辣的時光,直到2007年間Firefox崛起、IE7推出之后,IE6才走下了瀏覽器王國的頂峰。
然而,上面所講的是全球的情況。根據(jù)StatsCounter的數(shù)據(jù),2009年8月到2010年8月間,IE6的全球總市場占有率為11%,而IE6/7/8的總占有率為54%;而國內(nèi)的相應(yīng)數(shù)據(jù)則是,IE6占據(jù)超過60%,而IE6/7/8加起來則超過了90%。考慮到國內(nèi)各種版本的Windows XP的普及情況,這個數(shù)字并不令人意外。
所以對于瀏覽器廠商而言,不打死IE6,自己再怎樣玩也玩不大。而要打死IE6這只比大象還大的落水狗,HTML 5互聯(lián)網(wǎng)Web新標(biāo)準(zhǔn)無疑是十分順手的一根打狗棒。雖說國內(nèi)瀏覽器很多都是基于IE內(nèi)核的外殼瀏覽器,但捧著別人的飯碗總不是長久之策,要不怎么傲游、搜狗、騰訊都紛紛搞雙核,把2010年搞成了一個“雙核之年”呢。
可能有讀者會感到疑惑了:為什么HTML 5能成為對付IE6的打狗棒呢?這就不得不從Web前端開發(fā)者們的那些苦澀過往開始說起了。說起Web前端開發(fā)人員對IE6的怨念,那可真是三日三夜也說不完。以下摘錄兩小段技術(shù)描述(原始出處已不可考),作為此怨念的一個縮影:
IE6里DIV錯位的問題
采用"FLOAT:LEFT”的DIV在IE8、IE7、都沒問題,IE6下卻向下移動,出現(xiàn)空白。這是因為,IE6采用的內(nèi)核默認(rèn)把DIV之間的距離增加了3~5個PX,所以,試試是將下移的DIV的STYLE里增加"margin-left:-5px;"或者更小。
頁面的最小寬度
min-width是個非常方便的CSS命令,它可以指定元素最小也不能小于某個寬度,這樣就能保證排版一直正確。但IE不認(rèn)得這個,而它實際上把width當(dāng)做最小寬度來使。為了讓這一命令在IE上也能用,可以把一個<div>放到<body>標(biāo)簽下,然后為div指定一個類:(代碼……)
事實上,對于一個真正在意用戶在不同瀏覽器下有相同用戶體驗的Web前端開發(fā)者而言,每個項目因為瀏覽器兼容性而進行調(diào)試的時間,遠比原始的開發(fā)時間多出很多倍。如果說您看上面這兩段還沒有太感受到的話,那就直接看看下面這段怨念體的總結(jié)文字吧(摘錄自梁逸晨的博客專欄):
為了我們自己,為了我們不再因為IE6的兼容性而加班加點工作,能多一個客戶告別IE6,就是為我們多帶來一點希望。不要去等微軟,微軟鐵定了心“我們的VISTA系統(tǒng)……”,也不要去等別人。人人等別人,無人是別人。一切都要從自己做起,看到一個客戶,就宣揚一次IE6的壞處,哪怕是欺騙、誘惑、威脅、行賄……等等不限手段。
對于這部分開發(fā)人員而言,HTML 5的出現(xiàn),簡直就是一個神奇盒子,就好像土法煉鋼做久了的人,忽然有一天看到了真正的機械化煉鋼是什么樣子一樣。如果這樣語法簡單而又功能強大的Web語言能夠在所有的平臺下被識別,那么Web開發(fā)者的生活,都可以大大的提高一個檔次。
然而問題在于,老的都已經(jīng)進了墳?zāi)沟腎E6是不可能支持這么先進的好東西的。所以為了自己的生活品質(zhì)、心情愉悅度以及對老板而言最重要的工作效率,開發(fā)者們都會毫無保留的表達自己對IE6的憎惡和遺棄之情,并在條件允許的情況下,在自己的網(wǎng)頁中對用戶大搖大擺的寫到:
尊敬的用戶,為什么還在用又慢又不安全的IE6?趕緊換一個更加時髦的瀏覽器,體驗我們網(wǎng)站華麗麗的效果吧!
然而……
上面的這段話只是開發(fā)者們一廂情愿的愿望。國外的網(wǎng)站可以這樣做,Google自然不用說,像是Facebook以及很多IT科技站和個人站也都特意標(biāo)注自己不支持IE6,使用IE6瀏覽的用戶會在訪問時看到這樣的信息:
對不起,使用IE6是無法瀏覽我們的網(wǎng)站,請安裝一個現(xiàn)代的瀏覽器。
而在國內(nèi),如果你讓超過一半的訪客們要下載個新軟件才能看你的網(wǎng)站,那你的訪客們多半會叫你去死。除非你的網(wǎng)站是專門面向有MSN絕對不用QQ、有推特絕對不用圍脖、有Facebook絕對不用人人的Geek類站點,或者像是谷奧、Chrome迷這樣超過八成訪客都是Chrome用戶的網(wǎng)站,否則你是不可能丟棄IE6兼容性這一塊的。
大會當(dāng)天跟支付寶的資深經(jīng)理葉志堅先生聊了聊有關(guān)這個IE6兼容性的問題,他的意見是堅定的“以用戶體驗為主”原則。
“既然有用戶選擇使用IE6,那我們就要照顧到他的選擇。我們可以告訴用戶,IE6速度慢,IE6不安全,讓用戶慢慢了解到轉(zhuǎn)換到其他瀏覽器的好處;但我們絕對不能奪走用戶的選擇權(quán)。”
站在產(chǎn)品運營的角度,這句話是絕對的真理。雖然技術(shù)人員的血液讓葉先生在提到IE6的時候免不了顯示出一絲怨念的神情,但是做Web畢竟不僅僅是做技術(shù)。
而另一方面,對最終用戶而言,HTML 5跟他們根本八桿子打不著。如果他們身邊沒有一兩個做前端開發(fā)的親戚朋友天天絮叨,那他們到底有什么理由要換一個別的瀏覽器?
Q:你知道瀏覽器是什么嗎?
A:Google?雅虎?
Q:你用過火狐或Chrome這些瀏覽器上網(wǎng)么?
A:啥?上網(wǎng)不就是用IE?
Q:你遇到過有些網(wǎng)站訪問的時候顯示的亂七八糟的情況么?
A:有啊!肯定是網(wǎng)站沒做好!
Q:你上網(wǎng)的時候遇到最多的問題有哪些?
A:網(wǎng)頁加載慢!還有總是崩潰!
Q:如果有一個瀏覽器,可以解決上面這些問題,你愿意用么?
A:那不是很麻煩,還要裝個新軟件?
Q:我推薦的瀏覽器還比較安全呢!你現(xiàn)在用的IE6容易被掛馬,換我推薦的就不會了~
A:沒事啦,我有360安全衛(wèi)士!
Q:它上面有各種方便的插件,可以查郵箱、截圖、查詞典呢!
A:我現(xiàn)在也可以查郵箱、截圖、查詞典?。?/p>
Q:它上面可以體驗很炫的網(wǎng)站,還可以玩植物大戰(zhàn)僵尸呢!
A:我現(xiàn)在就可以玩植物大戰(zhàn)僵尸??!
Q:唉唉,這么羅嗦,我?guī)湍阊b,你試試看總可以吧?
A:哦,也行?。?/p>
……(A君試用了3分鐘后)
A:我的收藏夾呢?我之前記錄的網(wǎng)站用戶名和密碼呢?哎呀我怎么網(wǎng)銀用不了?我平時玩的游戲也看起來全亂啦!這什么破瀏覽器一點也不好用,我要卸載!
(以上內(nèi)容由大會的視頻片段、網(wǎng)絡(luò)上的部分文章、以及本人推廣非IE瀏覽器的親身體會整理而成,絕對真實。)
#p#
真正的阻力
從上面的情況看起來,似乎阻礙了Web標(biāo)準(zhǔn)化和先進的瀏覽器革命的最大因素是這些對技術(shù)不甚了解的最終用戶們。
但是有一句話說得好:用戶永遠是對的。
Web標(biāo)準(zhǔn)化進程阻力重重、Web開發(fā)與瀏覽器技術(shù)的革新遲遲無法推廣的最大原因,主要是在于那些根本不理會網(wǎng)站兼容性的Web開發(fā)者們。這些也許是因為對Web開發(fā)一知半解,也許是因為趕任務(wù)而把項目匆匆了事,也許是因為項目規(guī)劃就沒有將Web兼容性當(dāng)作一個正當(dāng)需求提出并執(zhí)行,所以直接導(dǎo)致了互聯(lián)網(wǎng)上充斥了這些只有IE6能夠正常運行的網(wǎng)站和Web游戲們。
上面簡單說來就是:成也開發(fā)者,敗也開發(fā)者。一方面,想要把自己的Web應(yīng)用/網(wǎng)站做的兼容的開發(fā)者們熱烈的擁抱HTML 5,并希望IE6趕緊死掉;但是,恰恰是因為他們那些對Web標(biāo)準(zhǔn)化漠不關(guān)心、開發(fā)之后只在IE6下測試的同行們,才導(dǎo)致自己遲遲無法從不兼容的苦海中擺脫。
不過說到底,推動Web標(biāo)準(zhǔn)化并干掉IE6是一個多方受益的事情:
- 瀏覽器廠商可以開始瓜分IE6之前占據(jù)的蛋糕
- Web前端開發(fā)者的開發(fā)生活更加美好了
- 最終用戶得到了更好的體驗,也遠離了被掛馬等安全隱患
- 瀏覽器開發(fā)者們的工作更難了,所以瀏覽器開發(fā)者們也更加牛B了
- Web產(chǎn)品運營者可能會花費更多的金錢,但他們將獲得開發(fā)者與用戶的肯定,以及技術(shù)層面上的一段領(lǐng)先優(yōu)勢
上面這些受益者們甚至包括微軟自己:在IE9中開發(fā)IE5/6/7/8的兼容模式估計不是什么令人高興起來的活兒,另外微軟現(xiàn)在力推云計算和它的Windows 7,而Windows 7主要是來搶占Windows XP的地盤的。如果用戶因為聽說升級到Windows 7之后無法使用某個網(wǎng)銀的服務(wù)而推遲了購買Windows 7的計劃,這勢必會令微軟也感到懊惱。
這個Web標(biāo)準(zhǔn)化運動唯一可能傷害到的群體,就是那些對新技術(shù)不聞不問、埋頭只開發(fā)IE-only網(wǎng)站的那些沒追求的開發(fā)者們。對于這個既沒有技術(shù)追求、又不關(guān)心用戶體驗的群體,也許他們本來也并不適合開發(fā)這個行業(yè)。
殲滅戰(zhàn)的戰(zhàn)術(shù)策略
明白了誰是戰(zhàn)友,誰是敵人,接下來的戰(zhàn)術(shù)就很好制定了。指導(dǎo)原則就是:讓用戶明白這件事對他們自己有好處。用戶擁有絕對的選擇與決定權(quán),他們關(guān)注的,是自己使用起來是否方便。至于開發(fā)者是否煩惱,用戶并不會在乎,所以抱怨戰(zhàn)術(shù)就不用考慮了。
瀏覽器廠商的策略很簡單:
1、讓用戶愛上自己。有了愛才有包容,才能接受必須在多個瀏覽器間切換才能做某件事情的麻煩。
2、技術(shù)允許的情況下,為用戶提供一道通往IE6的方便之門,但是同時很明確的告訴用戶此舉純屬無奈。所以說雙核的策略是一個十分高明的策略,而“高速模式”和“兼容模式”這兩個名字,真是特別的恰到好處。
3、與網(wǎng)銀等重要網(wǎng)站服務(wù)的提供者進行合作,通過一些公關(guān)的手段來加速重要網(wǎng)站服務(wù)對Web標(biāo)準(zhǔn)化的支持。比如建行網(wǎng)銀現(xiàn)在已經(jīng)可以支持Firefox,就是Mozilla和建行合作的結(jié)果。
開發(fā)者的策略是比較累人的:
1、運用標(biāo)準(zhǔn)的Web技術(shù)開發(fā)出很炫的產(chǎn)品。
2、為這個很炫的產(chǎn)品開發(fā)各個瀏覽器版本的兼容實現(xiàn),包括IE6。
3、但是,對于IE6的用戶,總是要在產(chǎn)品中的某個用戶能看到的地方,說明這個產(chǎn)品在IE6下的表現(xiàn)并不夠炫,也不夠安全。
4、而且如果用戶真的嘗試在不同的瀏覽器下查看你的產(chǎn)品,要真的讓用戶體驗到差距,讓用戶認(rèn)同“IE6的確不好”這一事實。
5、最重要的一點,就是讓這個產(chǎn)品獲得成功,積累盡可能多的用戶群體。
6、最后,開發(fā)者可以選擇在合適的時機拋棄對IE6的支持——比如在該產(chǎn)品的IE6用戶已經(jīng)只剩下1%的時候。
這樣,瀏覽器廠商逐漸積累各自的用戶數(shù)量,減少IE6的用戶數(shù)量;開發(fā)者的努力逐漸讓用戶對IE6的依賴性降低。這是讓用戶逐漸脫離IE6的前提條件。但是就國內(nèi)的情況而言,這些僅僅是前提條件,并不能帶來可觀的推動力。
根據(jù)CNNIC在7月剛剛發(fā)布的《第26次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告》,2010年6月為止,使用家庭電腦上網(wǎng)的網(wǎng)民比例為88.4%,網(wǎng)吧上網(wǎng)的比例為33.6%,單位上網(wǎng)的比例為33.2%(多選的調(diào)查問卷)。這個樣本的代表性和數(shù)字的準(zhǔn)確性我們不去深究了,即使按照這個數(shù)字來,那么使用公共電腦的比例也占了四成以上。公共電腦的裝備多半是某個盜版的Windows XP,由網(wǎng)吧或是單位的網(wǎng)管統(tǒng)一裝機,使用者往往被迫使用預(yù)裝的IE6上網(wǎng),還無法更新。事實上,如果是正版Windows XP或近兩年購入的個人電腦,那系統(tǒng)自動更新早就把IE7或是IE8安裝上了,也不會遺留這么多的IE6。
鑒于盜版Windows XP是一個更難解決的問題,所以在國內(nèi),要解決IE6的問題,最有效的手段也許是去賄賂一下360安全衛(wèi)士?
【編輯推薦】