WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專(zhuān)題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢(qián)
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專(zhuān)題
- 云計(jì)算
- 微博營(yíng)銷(xiāo)
- 虛擬主機(jī)管理系統(tǒng)
- 開(kāi)放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
Ajax-可用性問(wèn)題
導(dǎo)航: 上一頁(yè) | ASP | PHP | JSP | HTML | CSS | XHTML | aJAX | Ruby | JAVA | XML | Python | ColdFusion
前面談到的都是用戶(hù)的期望,除此以外,可用性也不能不提。Ajax方法相當(dāng)新,還沒(méi)有多少成熟的最佳實(shí)踐。不過(guò),標(biāo)準(zhǔn)Web設(shè)計(jì)原則還是適用的。隨著時(shí)間推移,當(dāng)越來(lái)越多的人開(kāi)始嘗試這種方法時(shí),就會(huì)發(fā)現(xiàn)可能存在哪些限制,并建立適當(dāng)?shù)闹笇?dǎo)原則。也就是說(shuō),你應(yīng)該讓用戶(hù)來(lái)指導(dǎo)你。根據(jù)在應(yīng)用中使用Ajax的方式,你可能會(huì)動(dòng)態(tài)地改變頁(yè)面中的某些部分,習(xí)慣于整個(gè)瀏覽器刷新的用戶(hù)可能不會(huì)注意到與以前相比有什么變化。這個(gè)問(wèn)題引出了一些新的特性,如37signals所普及的黃褪技術(shù)(Yellow Fade Technique,YFT),這個(gè)特性已經(jīng)用在Ajax的招牌應(yīng)用Basecamp中了。
基本說(shuō)來(lái),YFT是指“取頁(yè)面中有變化的部分,并置為黃色”。假設(shè)你的應(yīng)用原本沒(méi)有大量使用黃色,用戶(hù)就很可能會(huì)注意到這種改變。過(guò)一段時(shí)間后,再讓黃色逐漸褪色,直到恢復(fù)為原來(lái)的背景色。當(dāng)然,你也可以選用你喜歡的其他顏色,只要能把用戶(hù)的注意力吸引到有變化的部分。
可能YTF并不適用于你的應(yīng)用,你也可以選擇用一種不那么張揚(yáng)但仍很有用的方式來(lái)提醒用戶(hù)。Gmail在右上角顯示了一個(gè)閃動(dòng)的紅色“Loading”加載記號(hào),提醒用戶(hù)正在獲取數(shù)據(jù)
究竟要使用YFT還是其他類(lèi)似的技術(shù),實(shí)際上取決于你的用戶(hù)。最簡(jiǎn)單的方法是讓一組用戶(hù)代表來(lái)進(jìn)行測(cè)試??梢酝ㄟ^(guò)文字問(wèn)卷,也可以使用基于Web的原型應(yīng)用,這要看你處在設(shè)計(jì)過(guò)程的哪個(gè)階段。但是不論如何測(cè)試,在真正采用Ajax完成復(fù)雜設(shè)計(jì)之前都應(yīng)該取得一些用戶(hù)反饋。
而且要從小處做起。在剛開(kāi)始使用Ajax時(shí),不應(yīng)該馬上就創(chuàng)建一個(gè)可調(diào)整列的動(dòng)態(tài)門(mén)戶(hù)網(wǎng)站,而是應(yīng)該先試著處理客戶(hù)端驗(yàn)證,逐步轉(zhuǎn)向服務(wù)器端。待有所了解后,可以再?lài)L試更動(dòng)態(tài)的使用,如填寫(xiě)一個(gè)下拉列表,或者設(shè)置某些默認(rèn)文本。
不管你要如何應(yīng)用Ajax,記住別做稀奇古怪的事情。我們知道,這不算是一個(gè)學(xué)術(shù)性的建議。不過(guò),目前這方面還沒(méi)有嚴(yán)格的規(guī)則。先聽(tīng)聽(tīng)用戶(hù)怎么說(shuō),部署之前一定要先做測(cè)試,而且要記住,如果太過(guò)古怪,用戶(hù)很快就會(huì)點(diǎn)擊“跳過(guò)本頁(yè)”鏈接跳過(guò)你精心設(shè)計(jì)的這些部分。
要知道使用Ajax 時(shí)有幾個(gè)常犯的錯(cuò)誤。我們已經(jīng)討論過(guò),有變化時(shí)如何向用戶(hù)提供可視化的提示,不僅如此,Ajax還會(huì)以其他方式改變標(biāo)準(zhǔn)的Web方法。首先,不同于IFRAME和隱藏框架,通過(guò)XHR做出請(qǐng)求不會(huì)修改瀏覽器的歷史棧。在許多情況下這沒(méi)有什么問(wèn)題(你可能會(huì)點(diǎn)擊后退箭頭,只是要看看是不是什么都沒(méi)有改變,但這么做能有幾次呢?),不過(guò),如果你的用戶(hù)確實(shí)想用后退按鈕,就有問(wèn)題了。
其次,與其他基于瀏覽器的方法不同,Ajax不會(huì)修改地址欄中顯示的鏈接,這表明你不能輕松地為一個(gè)頁(yè)面建立書(shū)簽,或者向朋友發(fā)送一個(gè)鏈接。對(duì)于許多應(yīng)用來(lái)說(shuō),可能沒(méi)有這個(gè)要求,但是如果你的網(wǎng)站專(zhuān)門(mén)為人提供行車(chē)路線(xiàn)之類(lèi)的東西,就要針對(duì)這個(gè)問(wèn)題提供一個(gè)解決方案。
有一點(diǎn)很重要,使用Ajax不要過(guò)度。記住,JavaScript會(huì)在客戶(hù)端的瀏覽器上運(yùn)行,如果有數(shù)千行JavaScript代碼,可能會(huì)讓用戶(hù)感覺(jué)速度太慢。如果腳本編寫(xiě)不當(dāng),就會(huì)很快失去控制,特別是當(dāng)通信量增加時(shí)。
Ajax允許你異步地完成操作,這個(gè)最大的優(yōu)點(diǎn)同時(shí)也是它最突出的缺點(diǎn)。我們以前總是告訴用戶(hù),Web應(yīng)用是以一種請(qǐng)求/響應(yīng)模式完成操作的,用戶(hù)也已經(jīng)接受了這種思想。但是用了Ajax,就不再有這個(gè)限制。我們可以只修改頁(yè)面的一部分,如果用戶(hù)沒(méi)想到這一點(diǎn),他們很可能會(huì)被搞糊涂。所以,你要注意一定要讓用戶(hù)明白這一點(diǎn),不要想當(dāng)然地以為他們知道。記住,只要有疑問(wèn),就要請(qǐng)用戶(hù)代表進(jìn)行測(cè)試!