日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

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

JavaScript能否撐起AJAX的未來

admin
2010年8月18日 21:23 本文熱度 3931
初聞AJAX是06年的春天,當(dāng)時對AJAX的記憶,就是荷蘭那只充滿的潛力的球隊。如今此AJAX就如同彼AJAX一樣,令人驚艷,異步更新使得許多桌面軟件的效果可以在WEB上實現(xiàn),AJAX也成為了WEB2.0的主要標(biāo)志。
       雖然AJAX越來越流行,但是我難免不為其潑點冷水,結(jié)合自身的經(jīng)驗我認(rèn)為目前AJAX開發(fā)有以下幾個問題,這些問題將可能成為束縛其發(fā)展。
       在提出問題之前,我想有必要闡述兩個觀點: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)實中并非都是如此有時你不可避免的要使用到分支,比如在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ā)展。這是一個大問題,因為腳本代碼不可能僅由幾個牛人來開發(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)驗。
(二)     調(diào)試依賴瀏覽器
調(diào)試是開發(fā)中非常重要的一環(huán)我想這個大家都沒有異議,以前JAVASCRIPT只是做一些特效和校驗?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的強硬要求,同時很不巧它又報腳本出錯了。恭喜你,你將墜入地獄。你可能會說把腳本放在其他瀏覽器上運行,看看什么錯。但是很不幸的告訴你的腳本出這些問題時,在其他瀏覽器上往往是可以完美運行的。這時候你會發(fā)現(xiàn)JAVASCRIPT是一個多么恐怖的語言。
有耐心看到這里的讀者,似乎會發(fā)現(xiàn)我一直提到瀏覽器。為什么我一直抓著瀏覽器不放,因為瀏覽器是將我們的項目展現(xiàn)給用戶的工具,在我看來一個項目是否出色,不在于它運用到了什么技術(shù),而取決于用戶獲得的體驗。“客戶是我的衣食父母”這是我的口頭禪。項目賺錢了,并不因為AJAX,并不因為FLEX,只因為你滿足了客戶的需求。客戶是第一驅(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)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 精品成人一区二区三区免费视频 | 国产视频91完整版播放 | 国产精品思思在线 | 国产亚洲精aa在线观看不卡 | 亚洲综合日韩精品欧美综合区 | 国产一区二区精品一区二区 | 综合影视亚洲中文 | 亚洲三级在线观看 | 亚洲国产欧美国产综合一区 | 国产91丝袜在线观看 | 免费人成动漫在线播放r1 | 国产在线观 | 亚洲视频中文字幕 | 国产在线观看免费 | 亚洲精品影视亚州色区 | 精品免费国产一区二区三 | 亚洲国产vv | 国产精品看高国产精品不卡 | 最新国产精品拍自在线观看 | 亚洲成aⅴ人的天堂在线观看女人 | 欧美黑大硬粗xxxxx成人视颎 | 亚洲国产精品青青网 | 精品精品国产欧美在线观看 | 又大又粗又硬又黄的免费视频 | 大片在线观看免费 | 夜爽8888视频在线观看 | 成人国产免费软件 | 亚洲人成中文字幕在 | 亚洲熟女精品中文字幕 | 亚洲人免| 国产精品va | 亚洲一区二区三区香蕉下载 | 国内外成人激情免费在线视频 | 日韩精品大片在线观看 | 黑人巨大性欧美一区二区三 | 国产系列丝袜熟女精品网站 | 在线观看一二三四区 | 成人国产精品一区二区八戒网 | 中文字幕不卡欧美日韩在线 | 中文字幕乱码亚洲中文在线 | 亚洲人成中文字幕在线观看 |