亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

用事實說話!AJAX應用程序開發七宗罪

2024-07-21 02:28:19
字體:
來源:轉載
供稿:網友

  ajax bandwagon是個好去處。它帶給你更快、更高效、更強動態的應用。但它也有自身的缺陷。

  初一看,具備一些常識似乎就能避免這些缺陷,在一定程度上,的確如此。但從dhtml起源來看,ajax應用程序充滿了結構性差異。不論你在應用程序開發工作中掌握了多少常識,從別人犯的錯誤中吸取教訓也是有好處的。我們稱這些錯誤為“七宗死罪”,但它們不能代表全部的錯誤。

  事實上,在你犯這些致命過失之前,你可能首先犯了一些較輕的錯誤。因此我們從這里著手。這是每個人都可能犯的錯誤。這些錯誤是多么普遍,通過google搜索一下,你就可以發現大部分的錯誤。

  七宗輕罪

  1.濫用back按鈕—這是每個人都會犯的錯誤。back按鈕在很多網頁程序中已經成為用戶的期望。很多ajax研發新手在開發ajax應用程序時,出于多種原因都敏捷地使用著back按鈕。首先,javascript對于它來說不是最友好的語言;其次,ajax設計中需要一種全新的思考方式。

  對于ajax 研發新手“后退”顯然不是最好的選擇?!昂笸恕笔且环N你更新頁面,或更常見的,你需要在特定情況下進行“撤銷”時才用到的功能。在進行編碼前應認識到這些,或者你可能重復做功。

  2.忘記告訴用戶當前發生的狀況—ajax工作原理中的一部分是其不使用常規的網頁用戶界面加載程序。因此,你需要明確設計一些可視的提示,使用戶了解正在發生的狀況。

  3.忽視鏈接—這也是ajax的標準失誤:漏做了程序外部用戶可以剪貼的url鏈接。我們都曾經多少次復制過url鏈接然后將其發送給別人?當你在使用ajax 時,提供給你的用戶有用url鏈接的唯一方法是,手動提供給他們。為什么?因為在ajax程序中,服務器不提供javascript動態生成的這個頁面!不要忽視你的用戶可能感興趣的這個網絡應用中最普通的功能。既然服務器不支持,那你花點功夫為用戶提供urls。

  4.用內容控制替代控制—如果你正在尋找動態的內容控制,那么對傳統的客戶服務器交互作用的突破對你來說可是件好事。但這也是一項罪過:在重寫一個頁面的某精確位置上的內容以調整用戶的交互式體驗時確實確實能夠很好的控制,但這也將使你的頁面不完整。通常,我們專注于處理頁面的某一部分,而忘記服務器不刷新頁面。這會導致頁面凌亂,用戶體驗降低,當他們察看頁面時可能看到過時的頁面!把你的注意力放在整個頁面; 確保出現動態頁面的內容都得到更新。

  5.累死蜘蛛 –ajax的優勢在于無需重裝就可以提供給頁面的大量的文本;ajax的缺陷在于無需重裝就可以提供給頁面的大量的文本。如果應用被設置為對搜索引擎友好,那么,你能夠想象會出現什么情況。無論頁面中出現了什么,請務必在最上面植入足夠穩定的文本,為蜘蛛們去玩耍吧。

  產生亂碼文本—ajax不支持很多字符集。這不是涉及生死的局限性,但忘記它能夠產生真的問題。最基本的字符集是utf-8。不論javascript發送什么,別忘記正確地編碼,并且根據內容設置服務器端的字符集。

  沒有為使用不支持javascript的瀏覽器的用戶提供提示--有些瀏覽器不支持javascript,用戶一時不能明白出了什么狀況。請給他們提供提示。

  實話實說,其中大部分是常識性問題。真正的問題都很容易讓人忽視的。

  造成內存泄漏—任何長期從事開發工作的人都知道循環引用,并了解其給內存管理帶來的危害。

  ajax所使用的javascript是內存管理的語言。這意味著javascript具有內置的信息包收集功能,因此能夠抽取不再有引用路徑使用的變量并重新分配這些變量所使用的內存。

  作為基本工作原理這很好,但是在模型對象和察看元素之間互相引用時,由于這些循環引用,你就不能依靠這個功能來實現你的內存使用最優化。從原則上講,對象為零,則元素為零,但是如果這時從元素到對象的向后引用,那么信息包搜集器不會動這些對象。

  現在,問題出來了:在文件對象模型中,任何文件樹中的dom節點都可能被樹中的其它元素引用,不論其是否被其他對象所引用!因此任何在信息包收集器中經過標注的被dom節點向后引用的對象,在這一方向必須為空,否則其內存就會一直處于已分配狀態。

  不了解“異步”的含義--異步很容易讓不熟悉它的用戶感到緊張。但是如果您為這些用戶所設計的網頁應用程序屬于桌面應用程序,那么他們肯定不會感到不安。這是一個至關重要的設計點。大部分網頁應用功能與桌面副本非常類似。但是在網頁應用中,用戶期望這種虛幻的特征導致他們截然不同。

  用戶在與網頁瀏覽器打交道時會帶有非常不同的偏見和期望,而對于桌面應用中他們并沒有這樣的行為。因此,盡管頁面與服務器之間頻繁的響應會非常好,非常高效,頁面能夠同時對自身進行修訂,但是這將會使用戶頭暈眼花。因此,您需要遵守兩條守則,要考慮到進入用戶視覺范圍內的每個變化:如果對于用戶來說不是很迫切的更新,那么要使升級更為溫和,不會轉移;如果更新對于用戶與應用的交互非常重要,那么更新要清楚而明顯。

  使服務器在黑暗中—用戶端與服務器的交流減少是一大問題,而以前并非如此。在以前,服務器端的應用了解全部情況并且能夠看到全部狀況:每個例外,每次重新加載,每個事件多能被看到并記錄下來,當然服務器也知道客戶端是什么狀況,因為服務器會記錄下屏幕上顯示的一切。

  在ajax應用程序中,問題不是這樣。當有事件發生時,這些事件是與服務器相互獨立的,也就是說,當客戶端出現問題時,服務器端并不會馬上知道。在某個位置發現和記錄客戶端發生的事件以及例外,使服務器能夠盡快追蹤需要干涉的問題。

  用get偷懶—get用于重新找回數據;post用于對get設置。不要在不適當的時候使用get,即使你認為這樣做沒有危害。get操作改變狀態,改變狀態的鏈接會令用戶感到困惑;大部分都認為鏈接的作用是導航,而不是功能。

  不兼容數據類型--javascript不是.net framework框架中的一部分。盡管這的確令人傷心,但這呈現給我們一個我們可能會碰到的問題:確定javascript能夠理解其運行平臺上的數據類型,反之,對于.net或其他都是如此??赡軙卸喾N轉換器,你需要把它們找出來。例如,ajax.net pro資料庫,提供能夠轉換.net 和 javascript對象符號的轉換器。

  一些應用程序不知道何時關閉--無需刷新頁面的內容動態生成如果沒有關閉時間將會非常糟糕。

  你見過多少比美國國會議事錄還長的網頁?如果網頁無限延長無疑會是用戶的噩夢,只要想想用戶會怎么看待永不停止的應用程序就知道了。讓您的網絡應用具有動態效果,但是一定要在可行的限度之內。

  保持你的javascript遠離你的dom—請記住ajax建立在模型-視覺-控制(model-view-controller)結構之上。請認真地對待這點。javascript屬于模型層面,dom屬于視覺層面,而控制器是他們的婚姻顧問。保證讓你的網絡文件獨立于javascript之外(這樣有利于不支持javascript的用戶)--除了當內容自身只在用戶使用javascript時才有意義及可操作性。在這種情況中,用javascript創建內容。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
538国产精品一区二区在线| 欧美激情xxxx性bbbb| 亚洲成人av片在线观看| 欧美日韩国产成人在线| 不卡av在线网站| 国产精品高潮在线| 17婷婷久久www| 国产www精品| 欧美午夜激情在线| 91久久国产精品91久久性色| 国产精品一区二区av影院萌芽| 精品久久久久久国产| 欧美日韩亚洲激情| 国产日韩欧美另类| 欧美精品xxx| 亚洲大胆人体视频| 欧美亚洲国产成人精品| 亚洲另类欧美自拍| 日本精品一区二区三区在线播放视频| 国产91精品不卡视频| 国产精品久久久久国产a级| 精品亚洲永久免费精品| 国产精品三级美女白浆呻吟| 欧美成人精品一区| 欧美视频在线观看 亚洲欧| 欧美国产日本在线| 日韩中文字幕在线视频播放| 亚洲欧美制服第一页| 日韩高清电影免费观看完整版| 成人黄色中文字幕| 久久久av免费| 成人精品久久一区二区三区| 欧美孕妇与黑人孕交| 精品久久久精品| 日韩av第一页| 亚洲人成电影在线观看天堂色| www.欧美精品一二三区| 51色欧美片视频在线观看| 国产精品福利在线观看| 日韩国产欧美精品一区二区三区| 国产精品久久久久久久久影视| 亚洲一区二区日本| 91精品久久久久久久久久| 国产精品视频最多的网站| 国产精品1区2区在线观看| 久久久久国产精品www| 久久国产色av| 欧美日韩中文字幕日韩欧美| 国产亚洲精品91在线| 中文字幕日韩欧美精品在线观看| 久久久久久久色| 在线观看亚洲区| 国产精品白嫩初高中害羞小美女| 91精品在线影院| 亚洲午夜未满十八勿入免费观看全集| 久久久免费精品视频| 亚洲国产成人在线视频| 韩国精品美女www爽爽爽视频| 久久亚洲国产成人| 成人国产精品一区二区| 疯狂蹂躏欧美一区二区精品| 91精品视频免费看| 亚洲第一av网站| 国产欧美精品一区二区三区-老狼| 国产区亚洲区欧美区| 国产视频久久网| 久久精品国产清自在天天线| 亚洲www永久成人夜色| 成人精品一区二区三区电影黑人| 黑人与娇小精品av专区| 日韩av手机在线观看| 欧美日韩在线影院| 亚洲深夜福利在线| 日韩欧美综合在线视频| 久久久久久国产精品美女| 91精品综合久久久久久五月天| 国产精品美腿一区在线看| 久久99久久99精品免观看粉嫩| xxxxx成人.com| 国产美女精彩久久| 亚洲香蕉在线观看| 精品国产31久久久久久| 日韩av在线精品| 最新日韩中文字幕| 国产精品户外野外| 国产精品成人免费电影| 日韩美女中文字幕| 亚洲精品第一页| 最近2019年手机中文字幕| 精品久久久久久久久久久久久久| 亚洲人成在线一二| 国产精品久久二区| 精品一区二区三区三区| 5566日本婷婷色中文字幕97| 久久精品视频一| 中文字幕av一区二区| 美女福利视频一区| 国产成人精品久久亚洲高清不卡| 国产精品视频成人| 国产精品扒开腿做爽爽爽男男| 久久久久日韩精品久久久男男| 国产精品福利网站| 国内精品小视频在线观看| 日韩在线观看高清| 欧美日韩一区二区三区| 亚洲国产欧美一区二区三区久久| 最好看的2019年中文视频| 中文字幕精品在线视频| 欧美成人精品不卡视频在线观看| 日本免费在线精品| 亚洲成成品网站| 欧美精品在线第一页| 97视频国产在线| 久久久噜久噜久久综合| 欧美性少妇18aaaa视频| 亚洲国产高清高潮精品美女| 精品无人区太爽高潮在线播放| 久久精品国产欧美亚洲人人爽| 国产一区二区三区在线看| 成人在线中文字幕| 伊人久久男人天堂| 欧美肥臀大乳一区二区免费视频| 66m—66摸成人免费视频| 欧美孕妇孕交黑巨大网站| 精品久久久久久亚洲国产300| 91精品国产综合久久久久久久久| 亚洲欧美制服中文字幕| 国产精品丝袜白浆摸在线| 久久久噜噜噜久久久| 国产精品爽爽爽爽爽爽在线观看| 中文字幕日韩av电影| 亚洲成人av片在线观看| 国产男女猛烈无遮挡91| 国内免费久久久久久久久久久| 日韩欧美极品在线观看| 国产精品久久久久久搜索| 欧美在线激情网| 亚洲色无码播放| 欧美一级淫片videoshd| 亚洲天堂男人天堂女人天堂| 久久久91精品国产| 最近中文字幕2019免费| 欧美精品一区二区三区国产精品| 97超视频免费观看| 国产精品自拍小视频| 国产精品网站视频| 成人免费xxxxx在线观看| 亚洲护士老师的毛茸茸最新章节| 亚洲国产一区二区三区在线观看| 伊人伊人伊人久久| 4388成人网| 久久电影一区二区| 国产亚洲精品久久久优势| 91美女福利视频高清| 51视频国产精品一区二区| 欧美亚洲免费电影| 91色精品视频在线| 国产精品久久久久久久av电影| 2018国产精品视频| 国产精品视频午夜| 亚洲欧洲在线观看| 国产亚洲精品久久| 亚洲欧美日韩天堂一区二区| 国产伦精品一区二区三区精品视频|