|
IE7提供XMLHttpRequest對象后,當然會繼續支持ActiveX對象XmlHttp,這是微軟這么幾十年來產品升級起碼的"素養",絲毫不用我們去擔心現在IE上的Ajax應用代碼。在Sunava Dutta的blog里,雖然他說了為什么要這么做的初衷,其實就是為了兼容目前的非IE瀏覽器提供XMLHttpRequest來使用XmlHttp的情況而已。他的一段"蹩腳"的示例代碼雖然被一些睛睛火眼的同志挑出了不足,不過我卻覺得微軟在這些"細枝末節"的問題上,顯示出他的真正利害。
這話又要回到IE和NETscape爭霸的歲月,當時如日中天的NETscape是瀏覽器市場的絕對No.1,微軟由于Bill同志起初在互聯網戰略上打了一個小盹,讓那NETscape嘗到了一下山中無老虎,猴子稱霸王感覺。當Bill發出:我發現互聯網上沒有微軟的文件格式是很危險的,的自省論斷后,微軟開始了對互聯網的進軍。當然一個棘手的問題就是絞殺NETscape,當時的NETscape vs. IE就像今天的IE vs. Firefox。前者IE有Windows作為其捆綁的綠色快車,后者有今天大家高舉安全、高舉W3C大旗的聲援呼聲,可以說都是對手強大但是來者也都不是善主。
在這個絞殺戰中,微軟是比較穩的住氣的。因為IE 1.0, 2.0以至3.0(好像NT4.0就帶的IE3.0)都完全不是NETscape的對手,就像當初VC++和BCC之間的較量一樣,微軟是郁悶的。但是微軟知道自己當時不敵NETscape,所以在IE的實現做了很多兼容NETscape的設計,因為當時的NETscape也不是軟蛋,一手造就了JavaScript,它其實也就是業界的默認標準。這樣的情況持續到IE4.0,IE逐漸占據了優勢(當然免費+綠色快車的捆綁不是吃素的)而NETscape的衰敗已不可避免,這時微軟才開始了大刀闊斧的設計自己的DOM,修改HTML解析以及呈現效果,添加新的HTML標簽(這之前都是NETscape的活兒),當然對CSS的支持等也就隨微軟心所欲了。
今天的IE7支持XMLHttpRequest對象和Firefox死抱所謂的W3C標準形成了一個宣明的對比。前些天,有人在經典的腳本論壇上號召Web開發者抵制Firefox,雖然話語偏激且給人感覺是螳臂擋車,不過他的一些觀點我還是贊同的。就是希望Firefox等非主流(其實就是非IE)瀏覽器,能更多的兼容IE,而不是讓Web開發者去想盡辦法兼容各種具有細微差別的瀏覽器。因為從代價上看,由于IE已是不爭的勝利者,修改新瀏覽器的實現是一處修改處處受益的,而讓Web開發者去兼容各種瀏覽器,簡直是對廣大勞動人民智力、勞力的侮辱。
當然很多人可能會說標準才是老大,不管什么瀏覽器都該遵循標準,否則都是bull shit。但現實的情況就是"店大壓人、人大壓店",其它都是沒有意義的。就像今天我們的網絡應用技術大多并沒有標準而只有RFC,大家不也其樂融融過得很好嗎?不扯遠了免得成了對標準的討伐,繼續說瀏覽器的問題。對Firefox這個"后來"這么久的小弟弟瀏覽器,不管它要想怎么完美支持標準,我都舉雙手贊成。可是在一些舉手之勞的代價上,為什么就不好好的兼容以下目前最普及的IE呢?比如非要用不同的DOM屬性名,非要和IE劃清界限,你IE獨家的什么runtimeStyle、currentStyle等對不起我就是不支持,event也是要搞來和你不一樣,反正怎么別扭怎么來。最后效果就是搞的大部分IE里正常的頁面,第一次在Firefox里運行都保管歇菜,難道這下大家就都滿足了?!
如果Firefox以及其它非IE內核瀏覽器,能像微軟這樣care兼容性問題,那么他們的市場應該更大更有希望。Firefox完全可以提供兩種模式來運行,一是標準模式完全遵循W3C,一是IE兼容模式盡可能的兼容IE。這時候用戶可以無縫過渡、自由選擇,這下它的什么快速、安全的特點才能真正成為壓倒性的優勢。而在其不同的普及時期選擇不同的運行模式來作為默認模式,就可以很好地解決標準推廣,和"拉攏"其它IE用戶之間的矛盾,而樂而不為呢?
JavaScript技術:IE7提供XMLHttpRequest對象為兼容,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。