IE7提供XMLHttpRequest對(duì)象為兼容
更新時(shí)間:2007年03月08日 00:00:00 作者:
在IE7的開發(fā)中,據(jù)說新增加了一個(gè)Native對(duì)象——XMLHttpRequest。怎么難道開發(fā)IE7的"新警察"不知道IE6們都用ActiveX對(duì)象XmlHttp嗎?XmlHttp出了什么問題,IE7為什么要這么做?原來一切就為了一個(gè)簡單的兼容而已,但讓人感慨頗多。
IE7提供XMLHttpRequest對(duì)象后,當(dāng)然會(huì)繼續(xù)支持ActiveX對(duì)象XmlHttp,這是微軟這么幾十年來產(chǎn)品升級(jí)起碼的"素養(yǎng)",絲毫不用我們?nèi)?dān)心現(xiàn)在IE上的Ajax應(yīng)用代碼。在Sunava Dutta的blog里,雖然他說了為什么要這么做的初衷,其實(shí)就是為了兼容目前的非IE瀏覽器提供XMLHttpRequest來使用XmlHttp的情況而已。他的一段"蹩腳"的示例代碼雖然被一些睛睛火眼的同志挑出了不足,不過我卻覺得微軟在這些"細(xì)枝末節(jié)"的問題上,顯示出他的真正利害。
這話又要回到IE和Netscape爭(zhēng)霸的歲月,當(dāng)時(shí)如日中天的Netscape是瀏覽器市場(chǎng)的絕對(duì)No.1,微軟由于Bill同志起初在互聯(lián)網(wǎng)戰(zhàn)略上打了一個(gè)小盹,讓那Netscape嘗到了一下山中無老虎,猴子稱霸王感覺。當(dāng)Bill發(fā)出:我發(fā)現(xiàn)互聯(lián)網(wǎng)上沒有微軟的文件格式是很危險(xiǎn)的,的自省論斷后,微軟開始了對(duì)互聯(lián)網(wǎng)的進(jìn)軍。當(dāng)然一個(gè)棘手的問題就是絞殺Netscape,當(dāng)時(shí)的Netscape vs. IE就像今天的IE vs. Firefox。前者IE有Windows作為其捆綁的綠色快車,后者有今天大家高舉安全、高舉W3C大旗的聲援呼聲,可以說都是對(duì)手強(qiáng)大但是來者也都不是善主。
在這個(gè)絞殺戰(zhàn)中,微軟是比較穩(wěn)的住氣的。因?yàn)镮E 1.0, 2.0以至3.0(好像NT4.0就帶的IE3.0)都完全不是Netscape的對(duì)手,就像當(dāng)初VC++和BCC之間的較量一樣,微軟是郁悶的。但是微軟知道自己當(dāng)時(shí)不敵Netscape,所以在IE的實(shí)現(xiàn)做了很多兼容Netscape的設(shè)計(jì),因?yàn)楫?dāng)時(shí)的Netscape也不是軟蛋,一手造就了JavaScript,它其實(shí)也就是業(yè)界的默認(rèn)標(biāo)準(zhǔn)。這樣的情況持續(xù)到IE4.0,IE逐漸占據(jù)了優(yōu)勢(shì)(當(dāng)然免費(fèi)+綠色快車的捆綁不是吃素的)而Netscape的衰敗已不可避免,這時(shí)微軟才開始了大刀闊斧的設(shè)計(jì)自己的DOM,修改HTML解析以及呈現(xiàn)效果,添加新的HTML標(biāo)簽(這之前都是Netscape的活兒),當(dāng)然對(duì)CSS的支持等也就隨微軟心所欲了。
今天的IE7支持XMLHttpRequest對(duì)象和Firefox死抱所謂的W3C標(biāo)準(zhǔn)形成了一個(gè)宣明的對(duì)比。前些天,有人在經(jīng)典的腳本論壇上號(hào)召Web開發(fā)者抵制Firefox,雖然話語偏激且給人感覺是螳臂擋車,不過他的一些觀點(diǎn)我還是贊同的。就是希望Firefox等非主流(其實(shí)就是非IE)瀏覽器,能更多的兼容IE,而不是讓W(xué)eb開發(fā)者去想盡辦法兼容各種具有細(xì)微差別的瀏覽器。因?yàn)閺拇鷥r(jià)上看,由于IE已是不爭(zhēng)的勝利者,修改新瀏覽器的實(shí)現(xiàn)是一處修改處處受益的,而讓W(xué)eb開發(fā)者去兼容各種瀏覽器,簡直是對(duì)廣大勞動(dòng)人民智力、勞力的侮辱。
當(dāng)然很多人可能會(huì)說標(biāo)準(zhǔn)才是老大,不管什么瀏覽器都該遵循標(biāo)準(zhǔn),否則都是bull shit。但現(xiàn)實(shí)的情況就是"店大壓人、人大壓店",其它都是沒有意義的。就像今天我們的網(wǎng)絡(luò)應(yīng)用技術(shù)大多并沒有標(biāo)準(zhǔn)而只有RFC,大家不也其樂融融過得很好嗎?不扯遠(yuǎn)了免得成了對(duì)標(biāo)準(zhǔn)的討伐,繼續(xù)說瀏覽器的問題。對(duì)Firefox這個(gè)"后來"這么久的小弟弟瀏覽器,不管它要想怎么完美支持標(biāo)準(zhǔn),我都舉雙手贊成??墒窃谝恍┡e手之勞的代價(jià)上,為什么就不好好的兼容以下目前最普及的IE呢?比如非要用不同的DOM屬性名,非要和IE劃清界限,你IE獨(dú)家的什么runtimeStyle、currentStyle等對(duì)不起我就是不支持,event也是要搞來和你不一樣,反正怎么別扭怎么來。最后效果就是搞的大部分IE里正常的頁面,第一次在Firefox里運(yùn)行都保管歇菜,難道這下大家就都滿足了?!
如果Firefox以及其它非IE內(nèi)核瀏覽器,能像微軟這樣care兼容性問題,那么他們的市場(chǎng)應(yīng)該更大更有希望。Firefox完全可以提供兩種模式來運(yùn)行,一是標(biāo)準(zhǔn)模式完全遵循W3C,一是IE兼容模式盡可能的兼容IE。這時(shí)候用戶可以無縫過渡、自由選擇,這下它的什么快速、安全的特點(diǎn)才能真正成為壓倒性的優(yōu)勢(shì)。而在其不同的普及時(shí)期選擇不同的運(yùn)行模式來作為默認(rèn)模式,就可以很好地解決標(biāo)準(zhǔn)推廣,和"拉攏"其它IE用戶之間的矛盾,而樂而不為呢?
IE7提供XMLHttpRequest對(duì)象后,當(dāng)然會(huì)繼續(xù)支持ActiveX對(duì)象XmlHttp,這是微軟這么幾十年來產(chǎn)品升級(jí)起碼的"素養(yǎng)",絲毫不用我們?nèi)?dān)心現(xiàn)在IE上的Ajax應(yīng)用代碼。在Sunava Dutta的blog里,雖然他說了為什么要這么做的初衷,其實(shí)就是為了兼容目前的非IE瀏覽器提供XMLHttpRequest來使用XmlHttp的情況而已。他的一段"蹩腳"的示例代碼雖然被一些睛睛火眼的同志挑出了不足,不過我卻覺得微軟在這些"細(xì)枝末節(jié)"的問題上,顯示出他的真正利害。
這話又要回到IE和Netscape爭(zhēng)霸的歲月,當(dāng)時(shí)如日中天的Netscape是瀏覽器市場(chǎng)的絕對(duì)No.1,微軟由于Bill同志起初在互聯(lián)網(wǎng)戰(zhàn)略上打了一個(gè)小盹,讓那Netscape嘗到了一下山中無老虎,猴子稱霸王感覺。當(dāng)Bill發(fā)出:我發(fā)現(xiàn)互聯(lián)網(wǎng)上沒有微軟的文件格式是很危險(xiǎn)的,的自省論斷后,微軟開始了對(duì)互聯(lián)網(wǎng)的進(jìn)軍。當(dāng)然一個(gè)棘手的問題就是絞殺Netscape,當(dāng)時(shí)的Netscape vs. IE就像今天的IE vs. Firefox。前者IE有Windows作為其捆綁的綠色快車,后者有今天大家高舉安全、高舉W3C大旗的聲援呼聲,可以說都是對(duì)手強(qiáng)大但是來者也都不是善主。
在這個(gè)絞殺戰(zhàn)中,微軟是比較穩(wěn)的住氣的。因?yàn)镮E 1.0, 2.0以至3.0(好像NT4.0就帶的IE3.0)都完全不是Netscape的對(duì)手,就像當(dāng)初VC++和BCC之間的較量一樣,微軟是郁悶的。但是微軟知道自己當(dāng)時(shí)不敵Netscape,所以在IE的實(shí)現(xiàn)做了很多兼容Netscape的設(shè)計(jì),因?yàn)楫?dāng)時(shí)的Netscape也不是軟蛋,一手造就了JavaScript,它其實(shí)也就是業(yè)界的默認(rèn)標(biāo)準(zhǔn)。這樣的情況持續(xù)到IE4.0,IE逐漸占據(jù)了優(yōu)勢(shì)(當(dāng)然免費(fèi)+綠色快車的捆綁不是吃素的)而Netscape的衰敗已不可避免,這時(shí)微軟才開始了大刀闊斧的設(shè)計(jì)自己的DOM,修改HTML解析以及呈現(xiàn)效果,添加新的HTML標(biāo)簽(這之前都是Netscape的活兒),當(dāng)然對(duì)CSS的支持等也就隨微軟心所欲了。
今天的IE7支持XMLHttpRequest對(duì)象和Firefox死抱所謂的W3C標(biāo)準(zhǔn)形成了一個(gè)宣明的對(duì)比。前些天,有人在經(jīng)典的腳本論壇上號(hào)召Web開發(fā)者抵制Firefox,雖然話語偏激且給人感覺是螳臂擋車,不過他的一些觀點(diǎn)我還是贊同的。就是希望Firefox等非主流(其實(shí)就是非IE)瀏覽器,能更多的兼容IE,而不是讓W(xué)eb開發(fā)者去想盡辦法兼容各種具有細(xì)微差別的瀏覽器。因?yàn)閺拇鷥r(jià)上看,由于IE已是不爭(zhēng)的勝利者,修改新瀏覽器的實(shí)現(xiàn)是一處修改處處受益的,而讓W(xué)eb開發(fā)者去兼容各種瀏覽器,簡直是對(duì)廣大勞動(dòng)人民智力、勞力的侮辱。
當(dāng)然很多人可能會(huì)說標(biāo)準(zhǔn)才是老大,不管什么瀏覽器都該遵循標(biāo)準(zhǔn),否則都是bull shit。但現(xiàn)實(shí)的情況就是"店大壓人、人大壓店",其它都是沒有意義的。就像今天我們的網(wǎng)絡(luò)應(yīng)用技術(shù)大多并沒有標(biāo)準(zhǔn)而只有RFC,大家不也其樂融融過得很好嗎?不扯遠(yuǎn)了免得成了對(duì)標(biāo)準(zhǔn)的討伐,繼續(xù)說瀏覽器的問題。對(duì)Firefox這個(gè)"后來"這么久的小弟弟瀏覽器,不管它要想怎么完美支持標(biāo)準(zhǔn),我都舉雙手贊成??墒窃谝恍┡e手之勞的代價(jià)上,為什么就不好好的兼容以下目前最普及的IE呢?比如非要用不同的DOM屬性名,非要和IE劃清界限,你IE獨(dú)家的什么runtimeStyle、currentStyle等對(duì)不起我就是不支持,event也是要搞來和你不一樣,反正怎么別扭怎么來。最后效果就是搞的大部分IE里正常的頁面,第一次在Firefox里運(yùn)行都保管歇菜,難道這下大家就都滿足了?!
如果Firefox以及其它非IE內(nèi)核瀏覽器,能像微軟這樣care兼容性問題,那么他們的市場(chǎng)應(yīng)該更大更有希望。Firefox完全可以提供兩種模式來運(yùn)行,一是標(biāo)準(zhǔn)模式完全遵循W3C,一是IE兼容模式盡可能的兼容IE。這時(shí)候用戶可以無縫過渡、自由選擇,這下它的什么快速、安全的特點(diǎn)才能真正成為壓倒性的優(yōu)勢(shì)。而在其不同的普及時(shí)期選擇不同的運(yùn)行模式來作為默認(rèn)模式,就可以很好地解決標(biāo)準(zhǔn)推廣,和"拉攏"其它IE用戶之間的矛盾,而樂而不為呢?
您可能感興趣的文章:
- javascript一個(gè)無懈可擊的實(shí)例化XMLHttpRequest的方法
- AJax 學(xué)習(xí)筆記一(XMLHTTPRequest對(duì)象)
- javascript XMLHttpRequest對(duì)象全面剖析
- Ajax xmlHttpRequest的status的值的含義
- ajax 入門基礎(chǔ)之 XMLHttpRequest對(duì)象總結(jié)
- Javascript+XMLHttpRequest+asp.net無刷新讀取數(shù)據(jù)庫數(shù)據(jù)
- AJAX中同時(shí)發(fā)送多個(gè)請(qǐng)求XMLHttpRequest對(duì)象處理方法
- [js]輕便的XMLHttpRequest應(yīng)用函數(shù):downloadUrl()
- 建一個(gè)XMLHttpRequest對(duì)象池
- [轉(zhuǎn)]XMLHTTPRequest的屬性和方法簡介
- 一頁面多XMLHttpRequest對(duì)象
- 一份老外寫的XMLHttpRequest代碼多瀏覽器支持兼容性
- AJAX客戶端說明,XMLHttpRequest對(duì)象
- 建立XMLHttpRequest對(duì)象
- XMLHttpRequest of ajax
- AJAX入門之XMLHttpRequest慨述
- XMLHTTPRequest的屬性和方法簡介
相關(guān)文章
vscode工具函數(shù)idGenerator使用深度解析
這篇文章主要為大家介紹了vscode工具函數(shù)idGenerator使用深度解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03兼容FF和IE的動(dòng)態(tài)table示例自寫
Js實(shí)現(xiàn)的動(dòng)態(tài)增加表格的文章有很多,但大多數(shù)都不兼容FF和IE,于是手寫了一個(gè),經(jīng)測(cè)試效果還不錯(cuò),特此與大家分享,感興趣的朋友不要錯(cuò)過2013-10-10js 操作table之 移動(dòng)TR位置 兼容FF 跟 IE
js操作table之 移動(dòng)TR位置 兼容FF 跟 IE,需要的朋友可以參考下。2009-11-11JS基于遞歸實(shí)現(xiàn)網(wǎng)頁版計(jì)算器的方法分析
這篇文章主要介紹了JS基于遞歸實(shí)現(xiàn)網(wǎng)頁版計(jì)算器的方法,結(jié)合實(shí)例形式分析了javascript采用遞歸算法實(shí)現(xiàn)網(wǎng)頁版計(jì)算器的步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-12-12JS 進(jìn)度條效果實(shí)現(xiàn)代碼整理
進(jìn)度條效果實(shí)現(xiàn)代碼,有助于緩解頁面顯示慢的頁面,給用戶一個(gè)等待時(shí)間的效果2011-05-05js實(shí)現(xiàn)同一頁面多個(gè)不同運(yùn)動(dòng)效果的方法
這篇文章主要介紹了js實(shí)現(xiàn)同一頁面多個(gè)不同運(yùn)動(dòng)效果的方法,涉及javascript同時(shí)實(shí)現(xiàn)多個(gè)效果的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04