我本人就是一個用戶,當我在使用全國軟考網是所遭遇的問題讓我頭痛,報名和查看信息要登陸賬戶時,瀏覽器總是報錯,彈窗提示說必須使用IE6版本JS才能正常運行,這樣真的很讓我很無語。還有在一些個別的企業網站,打開頁面通常需要5S的時間,期間頁面呈現空白,也會聽到散熱風扇“呼呼”地吹著熱風,我查看了一下源代 ...
我本人就是一個用戶,當我在使用全國軟考網是所遭遇的問題讓我頭痛,報名和查看信息要登陸賬戶時,瀏覽器總是報錯,彈窗提示說必須使用IE6版本JS才能正常運行,這樣真的很讓我很無語。還有在一些個別的企業網站,打開頁面通常需要5S的時間,期間頁面呈現空白,也會聽到散熱風扇“呼呼”地吹著熱風,我查看了一下源代碼,文檔的代碼結構讓我心裡很吃驚。而且百度的大部分產品完全沒有對桌面觸控事件提供支持,讓多合一設備無從下手...
我在開發個人網站時,始終重視“用戶體驗”這個概念。讓用戶放鬆的瀏覽網站中的內容,難道這不重要嗎?讓代碼遇到錯誤是儘快返回、控製作用域、提升迴圈性能、緩存變數、使用對象式函數及方法等,這些技術的運用都源自創建良好用戶體驗這一目標。
1 success : function (data) { 2 var fruit = data.fruit, 3 count = fruit.length; 4 //將output元素置空 5 6 $("#output").empty(); 7 if(count > 0){ 8 $.each(fruit, function (i,obj) { 9 $("#output").append("<p>'+obj.name+'<a href="*" '+obj.color+'>'+obj.color+'</a></p>"); 10 }) 11 } 12 //這是一段截取的向json數據文件請求的js片段,它形象的返回了請求的各個階段 相應的提示 13 }.error(function () { 14 alert("返回請求錯誤信息!") 15 }).complete(function () { 16 alert("返回發送完成消息!") 17 }).success(function () { 18 alert("返回請求成功消息!") 19 })
載入信息提示用戶
有時我們需要Ajax接受伺服器的數據,網路通信條件可能非常的不穩定,會出現在請求和瀏覽器渲染過程中導致網頁部分暫時空白的情況。如果不針對用戶顯示相應的等待提示,可能會使用戶感到焦慮,在等待過程中在頁面左點右點,甚至會認為網站的本身出了問題,從而離開網站。可見用戶的體驗關係到了網站的運營。至此,我們需要在Ajax通信過程中同時在相應的DOM節點添加loding…或者小動畫等提示信息,這樣的話用戶可能會為數據等待一段時間,而不至於迅速離開網站。
1 "use strict"; //這是一段截取的js(ajax)代碼 2 3 var request = getHTTPObject(); 4 //我想要提醒大家的是:當網頁的某個區域在向伺服器發送http請求的過程中,要有一個標識提醒用戶正在載入... 5 6 outputElement.innerHTML = "Loding..."; //也可以根據各位的需求添加一個迴圈小動畫 7 8 request.onreadystatechange = function () { 9 10 if(request.readyState ===4 || request.status ===200){
特效 (http://www.w3school.com.cn/jquery/jquery_ref_effects.asp)
對於網站特效的問題,我建議使用適量的前端動態特效,輔以事件監聽器達到一種“動態”網站的效果。CSS3新標準迎來大量的偽類樣式,使用javascript代碼結合CSS可以創造出很好的特效;另外jQuery庫中定義了animat()方法,可以直接定義元素的動態效果。
瀏覽器適配問題(http://www.w3school.com.cn/browsers/index.asp)
關於舊版瀏覽器適配的問題,可以使用框架進行相容。HTML5 boilerplate(http://www.bootcss.com/p/html5boilerplate/)是一個前端開發模板,官方宣傳由100為資深開發者共同協作而成。它能幫你構建健壯、快速且適應能力強的Web 應用程式和網站,你使用編碼器閱讀HTML5 boilerplate,你會驚嘆這個僅僅64kb左右的源碼包,每一個代碼都有其存在的意義。它確實能讓你的項目開一個好頭,它能識別舊的Ie瀏覽器,並給出用戶提示,以免用戶誤解。你可以自行下載源文件,深入研究。
當你開發項目的過程中,需要對如何處理javascript中的各種問題做出結構或風格方面的決策時,應始終記住用戶體驗一詞,以此來指導開發過程。我們通常關註的是應用程式的終端永華,實際上用戶體驗還包含另一方面的內容,它就是“可維護性”,它與終端用戶的體驗同等重要。
可維護性指的是與你一同開發團隊中的其他能更新你的代碼的人,是否能夠有效地維護你開發出來的程式。我們也許可以為了提升終端用戶的可用性而犧牲了可維護性,但是一名合格的開發者應該在可用性、執行效率及終端用戶可用性之間尋求平衡。
我經常再做一個決定時,我會思考兩個問題:“哪種方案會終端用戶最好?”,“這麼做對代碼庫的可維護性會造成什麼影響?”。如果我的腦海中有明確的答案,這就證明我帶領著項目正在朝著良好的方向前進。