日韩欧美人妻无码精品白浆,夜夜嗨AV免费入口,国产欧美官网在线看,高校回应聋哑女生因长相完美被质疑

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

JavaScript能否撐起AJAX的未來

admin
2010年8月18日 21:23 本文熱度 4196
初聞AJAX是06年的春天,當(dāng)時對AJAX的記憶,就是荷蘭那只充滿的潛力的球隊。如今此AJAX就如同彼AJAX一樣,令人驚艷,異步更新使得許多桌面軟件的效果可以在WEB上實(shí)現(xiàn),AJAX也成為了WEB2.0的主要標(biāo)志。
       雖然AJAX越來越流行,但是我難免不為其潑點(diǎn)冷水,結(jié)合自身的經(jīng)驗(yàn)我認(rèn)為目前AJAX開發(fā)有以下幾個問題,這些問題將可能成為束縛其發(fā)展。
       在提出問題之前,我想有必要闡述兩個觀點(diǎn):1.異步更新的方向是正確的 2 我的評論只涉及javaScript。
       目前JAVASCRIPT開發(fā)面臨的最大問題就是依賴瀏覽器:
(一)   語法及函數(shù)依賴瀏覽器
              以下這段代碼大家應(yīng)該熟悉
               function makeRequest(url) {var http_request = false;if (window.XMLHttpRequest) { // Mozilla, Safari,...http_request = new XMLHttpRequest();if (http_request.overrideMimeType) {http_request.overrideMimeType('text/xml');// See note below about this line}} else if (window.ActiveXObject) { // IEtry {http_request = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try {http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {}}}if (!http_request) {alert('Giving up :( Cannot create an XMLHTTP instance');return false;}http_request.onreadystatechange = function() { alertContents(http_request); };http_request.open('GET', url, true);http_request.send(null);}這只是簡單的例子,為了生成一個XMLHttpRequest對象我們要針對不同的瀏覽器做許多判斷。
再舉個簡單的例子:
在IE中你可以這樣訪問一個元素document.all.,而如果在FireFox中執(zhí)行這段腳本一定會報錯的。為了保證多瀏覽器,我們就應(yīng)該使用共有的函數(shù)document.getElementById來獲得元素。
以上這種是好的情況,不同瀏覽器有共有的函數(shù)可以使用,但是現(xiàn)實(shí)中并非都是如此有時你不可避免的要使用到分支,比如在DOM中動態(tài)創(chuàng)建一個RADIO,就可能要這樣寫:
           try{
var radio = document.createElement("<input type='radio' name='userId' value='"+jsonContent.userInfoList[i].id+"'>");
           }catch(e){
              var radio = document.createElement("input");
              radio.name="userId";
              radio.type="radio";
              radio.value=jsonContent.userInfoList[i].id;  
       }
Try里的代碼是為IE準(zhǔn)備的,CATCH里的代碼是為FIREFOX等準(zhǔn)備的。
以上的一些例子說明了,JAVASCRIPT的開發(fā)依賴于瀏覽器。也許有些牛人可以說,我可以用共有的函數(shù),或者有些地方就使用TRY,CATCH。但是我想說的是,JAVASCRIPT身上承擔(dān)的重量大家都了解,它承載著是WEB2.0的發(fā)展。這是一個大問題,因?yàn)槟_本代碼不可能僅由幾個牛人來開發(fā),我們需要更多像我這樣的新手來開發(fā),這才能推動AJAX的發(fā)展。而JAVASCRIPT學(xué)習(xí)曲線將影響AJAX開發(fā)的普及。之所以造成這個問題,就是眾瀏覽器廠商沒有制定和遵循統(tǒng)一的標(biāo)準(zhǔn),僅僅支持JAVASCRIPT但是并不一定支持它的標(biāo)準(zhǔn)。沒有統(tǒng)一的標(biāo)準(zhǔn)那么JAVASCRIPT的開發(fā)就難于順利普及,以上個人在開發(fā)中遇到的一些情況也只能不斷的積累經(jīng)驗(yàn)。
(二)     調(diào)試依賴瀏覽器
調(diào)試是開發(fā)中非常重要的一環(huán)我想這個大家都沒有異議,以前JAVASCRIPT只是做一些特效和校驗(yàn)?zāi)_本,但是現(xiàn)在不僅僅是這樣,JAVASCRIPT被賦予了更多的功能。面對復(fù)雜的業(yè)務(wù),使用調(diào)試器將大大提高開發(fā)效率。但是遺憾的是,JAVASCRIPT的調(diào)試器良莠不齊,更嚴(yán)重的是調(diào)試器一樣依賴瀏覽器。IE你可以使用Sript Editor,FireFox你也許就要改用Venkman。這意味著什么,意味著你不得不為了多瀏覽器支持,去學(xué)習(xí)和熟練更多的工具。
(三)     錯誤提示依賴瀏覽器
認(rèn)為自己的項目開發(fā)完成,測試工作結(jié)束后不出問題是天真的想法。對于JAVASCRIPT開發(fā)而言,尤其天真。(牛人開發(fā)的不予討論)你很難保證你的腳本在客戶的某個瀏覽器上不出現(xiàn)錯誤,因此錯誤提示是相當(dāng)重要的。但是令人遺憾的是,連這種簡單的東西都依賴瀏覽器。IE的在腳本出錯時,左下角會有相應(yīng)的標(biāo)示,同時提供一些簡單的信息(出錯發(fā)生的行數(shù)之類),F(xiàn)ireFox在不會有明顯的標(biāo)示,所有信息在錯誤控制臺可以查看,提供的信息和IE差不多。這里不得不提一個瀏覽器,Sofari它往往只能告訴你腳本出錯了,但是并不能告訴你在第幾行。如果你的客戶有Sofari的強(qiáng)硬要求,同時很不巧它又報腳本出錯了。恭喜你,你將墜入地獄。你可能會說把腳本放在其他瀏覽器上運(yùn)行,看看什么錯。但是很不幸的告訴你的腳本出這些問題時,在其他瀏覽器上往往是可以完美運(yùn)行的。這時候你會發(fā)現(xiàn)JAVASCRIPT是一個多么恐怖的語言。
有耐心看到這里的讀者,似乎會發(fā)現(xiàn)我一直提到瀏覽器。為什么我一直抓著瀏覽器不放,因?yàn)闉g覽器是將我們的項目展現(xiàn)給用戶的工具,在我看來一個項目是否出色,不在于它運(yùn)用到了什么技術(shù),而取決于用戶獲得的體驗(yàn)?!翱蛻羰俏业囊率掣改浮边@是我的口頭禪。項目賺錢了,并不因?yàn)锳JAX,并不因?yàn)镕LEX,只因?yàn)槟銤M足了客戶的需求??蛻羰堑谝或?qū)動力,一次兩次你可以要求客戶只使用IE6,但是長此以往不是辦法。現(xiàn)在已經(jīng)不是IE6擁有90%市場的時代了(當(dāng)然同樣的IE6 SP1版和SP2版也有不同,曾經(jīng)遇到過問題),現(xiàn)在國內(nèi)用戶用的瀏覽器有:Ie5,Ie6,Ie7,FireFox,MyIe,TT等,你沒有理由叫客戶換瀏覽器。而且隨著對盜版的打擊日漸嚴(yán)厲,Ie7將逐漸取代Ie6。舉個簡單的例子,客戶剛買了個本子,預(yù)裝了正版的VISTA,他會為了你的程序去裝其他的瀏覽器?如果你的程序不支持IE7顯然你失去了這個客戶。
現(xiàn)在這個問題還不是非常嚴(yán)重,但是可以預(yù)見不久的未來,這些問題將會日益加劇。一個菜鳥能做的就是看到一些問題,如何解決,亦或只是杞人憂天還請牛人指教了。

該文章在 2010/8/18 21:23:01 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved