AJAX調(diào)試兼容
時(shí)間:2022-02-16 12:08:02 | 來(lái)源:信息時(shí)代
時(shí)間:2022-02-16 12:08:02 來(lái)源:信息時(shí)代
調(diào)試問(wèn)題
在實(shí)際構(gòu)建AJAX應(yīng)用中,你需要的不只是文本編輯器。既然JavaScript是非編譯的,它可以容易地編寫和運(yùn)行在瀏覽器中。然而,許多工具提供了有用的擴(kuò)展如語(yǔ)法高亮和智能完成。
不同的IDE提供了對(duì)JavaScript支持的不同等級(jí)。來(lái)自JetBrains的IntelliJIDEA是一個(gè)用來(lái)JavaScript開發(fā)的更好的IDE,雖然許多開發(fā)人員也喜歡Microsoft’sVisualStudio產(chǎn)品(允諾會(huì)在最新的版本中改善對(duì)AJAX的支持)。Eclipse包含了兩個(gè)免費(fèi)的JavaScript編輯器插件和一個(gè)商業(yè)的來(lái)自ActiveStat的KomodoIDE。
另一個(gè)JavaScript和AJAX開發(fā)中的問(wèn)題是調(diào)試?yán)щy。不同的瀏覽器提供不同的通常是隱藏的運(yùn)行時(shí)錯(cuò)誤信息,而JavaScript的缺陷如雙重變量賦值(通常是由于缺少數(shù)據(jù)類型)使得調(diào)試更加困難。在AJAX的開發(fā)中,調(diào)試就更復(fù)雜了,因?yàn)槠湫枰獦?biāo)識(shí)究竟是客戶端還是服務(wù)端產(chǎn)生的錯(cuò)誤。在過(guò)去,JavaScript調(diào)試的方法是刪除所有代碼然后一行行的增加直到錯(cuò)誤出現(xiàn)?,F(xiàn)在,更多開發(fā)人員回到為IE準(zhǔn)備的MicrosoftScriptDebugger和為Mozilla瀏覽器準(zhǔn)備的Venkman。
瀏覽器兼容性
JavaScript編程的最大問(wèn)題來(lái)自不同的瀏覽器對(duì)各種技術(shù)和標(biāo)準(zhǔn)的支持。構(gòu)建一個(gè)運(yùn)行在不同瀏覽器(如IE和火狐)是一個(gè)困難的任務(wù)。因此幾種AJAXJavaScript框架或者生成基于服務(wù)端邏輯或標(biāo)記庫(kù)的JavaScript,或者提供符合跨瀏覽器AJAX開發(fā)的客戶端JavaScript庫(kù)。一些流行的框架包括:Jquery,Backbase,Bitkraft,Django,DOJO,DWR,MochiKit,Prototype,Rico,Sajax,Sarissa,andScript.
這些框架給開發(fā)人員更多的空間使得他們不需要擔(dān)心跨瀏覽器的問(wèn)題。雖然這些框架提升了開發(fā)人員構(gòu)建應(yīng)用的能力,但由于廠商已經(jīng)開發(fā)了更細(xì)節(jié)的用戶界面的打包組件解決方案,因此在AJAX組件市場(chǎng)中需要考慮一些其他因素。例如提供通用用戶界面的組件如組合框和數(shù)據(jù)柵格的幾個(gè)廠商,都可以被用來(lái)在應(yīng)用中創(chuàng)建良好的通過(guò)類似電子數(shù)據(jù)表方式來(lái)查看和編輯數(shù)據(jù)的體驗(yàn)。但這些組件不僅是封裝了組件的用戶界面而且包括與服務(wù)端數(shù)據(jù)的通訊方式,這些組件通常使用基于標(biāo)記方式來(lái)實(shí)現(xiàn)如或JSF控件。