<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    藍(lán)晶石

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      10 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks
    與任何技術(shù)一樣,使用Ajax在相當(dāng)多的方面都可能范錯誤。我在這兒討論的問題目前都缺少解決方案,并將會隨著Ajax的成熟而解決或提高。隨著開發(fā) Ajax應(yīng)用經(jīng)驗的不斷獲取,開發(fā)者社區(qū)中將會出現(xiàn)最好的實踐經(jīng)驗與指導(dǎo)方針。

      1、XMLHttpRequest的有效性

      Ajax開發(fā)者面對的一個最大問題是當(dāng)XMLHttpRequest不可用時如何反應(yīng)。雖然大部分現(xiàn)代瀏覽器支持XMLHttpRequest,但還是有少量的用戶,他們的瀏覽器不能支持,或由于瀏覽器安全設(shè)置而阻止對XMLHttpRequest的使用。若你的Web應(yīng)用發(fā)布于公司內(nèi)部的 Intranet上,你很可能可以指定支持哪種瀏覽器,并可以確保XMLHttpRequest是可用的。若你在公共WEB上發(fā)布,則你必須意識到由于假定XMLHttpRequest是可用的,所有就阻止了老瀏覽器、手持設(shè)備瀏覽器等等用戶來使用你的系統(tǒng)。

      然而,你應(yīng)該盡力保證應(yīng)用系統(tǒng)“正常降級”使用,在系統(tǒng)中保留適用于不支持XMLHttpRequest的瀏覽器的功能。在購物車?yán)又校詈玫姆椒ㄊ怯幸粋€Add to Cart按鈕,可以進行常規(guī)的提交處理,并刷新頁面來反映購物車狀態(tài)的變化。Ajax行衛(wèi)可以在頁面被載入時通過JavaScript添加到頁面中,只在 XMLHttpRequest可用的情況下,為每個Add to Cart按鈕加上JavaScript處理函數(shù)。另一個方法是在用戶登錄時檢測XMLHttpRequest,再決定是提供Ajax版本還是常規(guī)基于 form提交的版本。

      2、可用性考慮

      圍繞著Ajax應(yīng)用的大部分問題都是很普通的問題。例如,讓用戶知道他們的輸入已經(jīng)被注冊并處理,是很重要的,因為在XMLHttpRequest處理過程中并不能提供通常的漏斗旋轉(zhuǎn)光標(biāo)。一種方法是將“確認(rèn)”按扭上的文本替換為“正在更新中…”,以避免用戶在等待響應(yīng)時多次點擊按鈕。

      另一個問題是,用戶可能沒有注意到他們正在觀看的頁面已經(jīng)被更新。可以通過使用各種視覺技巧來將用戶的眼光吸引到頁面的更新區(qū)域。還有一個問題是通過 Ajax更新頁面打斷了瀏覽器“退回前頁”按鈕的正常工作,地址欄中的URL不能反映頁面的全部狀態(tài),并且不能使用書簽功能。參見Resource章節(jié)中列出的網(wǎng)站地址上的文章來了解更多Ajax應(yīng)用關(guān)于可用性方面的問題。

      3、服務(wù)器負(fù)載

      使用Ajax界面代替?zhèn)鹘y(tǒng)的基于form的界面可能戲劇性地增加傳遞到服務(wù)器的請求數(shù)量。例如,一個普通的Google搜索給服務(wù)器造成一次命中,并在用戶確認(rèn)搜索表單時發(fā)生。然而,Google Suggest,將會試圖自動完成你的搜索詞,在用戶打字時將會往服務(wù)器發(fā)送多個請求。在開發(fā)一個Ajax應(yīng)用時,要注意到你將會發(fā)送多少請求到用戶器端,以及服務(wù)器的負(fù)載指標(biāo)。你可以通過在客戶端適當(dāng)?shù)鼐彺嬲埱蟆⑴c服務(wù)器響應(yīng)來緩減負(fù)載壓力。你也應(yīng)該在設(shè)計Ajax應(yīng)用時盡量在客戶端處理更多的邏輯,而不用與服務(wù)器端通訊。

      4、處理異步

      一定要記住,沒有任何東西可以保證XMLHttpRequest將會按照它們被發(fā)送的順序來依次結(jié)束。實際上,你在設(shè)計系統(tǒng)時,腦子里應(yīng)該始終假定它們不會按原來順序結(jié)束。在購物車?yán)又校褂昧艘粋€最后更新的時間戳來保證最新的數(shù)據(jù)不會被改寫。這個非常基本的方法可以在購物車場景中工作,但可能不能在其它情況下工作。在設(shè)計時刻就要考慮你該如何處理異步服務(wù)器響應(yīng)。

      結(jié)論

      你現(xiàn)在應(yīng)該對于Ajax的基本原則有了一個良好的了解,另外,你應(yīng)該理解一些更高級的隨Ajax方法而來的設(shè)計問題。創(chuàng)建一個成功的Ajax應(yīng)用需要一系列的方法—從JavaScript UI設(shè)計到服務(wù)器端架構(gòu)—但是你現(xiàn)在應(yīng)該已經(jīng)具備了需要使用到的Ajax核心知識。

    posted on 2005-12-29 16:01 kyanite 閱讀(174) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲av日韩aⅴ无码色老头| 一区二区三区AV高清免费波多| 亚洲精品中文字幕无码AV| 欧美激情综合亚洲一二区| 久久久www成人免费毛片| 久久精品夜色噜噜亚洲A∨| 久久精品国产亚洲AV蜜臀色欲| 亚洲成a∧人片在线观看无码| 国产一级婬片A视频免费观看| 日韩成人免费aa在线看| 18gay台湾男同亚洲男同| 免费精品视频在线| 成人午夜大片免费7777| 亚洲av女电影网| 欧洲美女大片免费播放器视频| 亚洲男人的天堂在线va拉文| 亚洲中文字幕无码中文字| 美女被cao网站免费看在线看| 国产在线a不卡免费视频| 亚洲一区中文字幕在线观看| 成人最新午夜免费视频| 激情婷婷成人亚洲综合| 免费看国产精品3a黄的视频| mm1313亚洲国产精品无码试看| 国产不卡免费视频| 亚洲欧美日韩中文无线码| 18禁止看的免费污网站| 亚洲国产精品无码专区在线观看| 阿v视频免费在线观看| 免费黄色小视频网站| 亚洲首页国产精品丝袜| 巨胸喷奶水www永久免费 | 日韩高清在线高清免费| 色婷婷综合缴情综免费观看 | 又粗又黄又猛又爽大片免费| 亚洲欧美日韩中文高清www777| 国产一级特黄高清免费大片| a级毛片免费在线观看| 亚洲中文字幕不卡无码| 亚洲天堂免费在线视频| 久久久久亚洲AV成人网|