国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

淺談Ajax的缺點

2024-09-01 08:26:27
字體:
來源:轉載
供稿:網友

在某網站瞎逛時,發現這個鏈接,進去逛了逛,覺得很有意思,大家也可以去看看,姑且不論你是否同意里面的觀點,看看別人看待ajax的角度,這對于理解一個事物很有幫助。

下面是我對一部分缺陷的看法:

為Ajax而Ajax(Using Ajax for the sake of Ajax.)
很同意這點,當一個技術本身的生存意義由于它自身的亮點而被抹殺,不知道是這個技術的幸運還是不幸。

干掉了back按鈕(Breaking the back button)
back按鈕是一個標準的web站點UI的重要功能。然后,后退按鈕沒法和js很好的合作……
gmail似乎作的很好?不過沒去仔細看過gmail如何實現后退和js相容的,被這個mistake一提醒,也許這也是ue的一個切口哦。

點擊的時候沒有提供一個可視化的提示(Not giving immediate visual cues for clicking widgets)
……也許是我沒看懂,覺得寫這段的人自相矛盾。。他說沒提供可視化提示,不過是拿gmail右上角的紅色提示作為例子。

阻擋了離線用戶于門外(Leaving offline people behind)
看標題就清楚了,不過我持保留意見,web application和離線瀏覽本身似乎就存在著矛盾,要整合,可能要動很多腦子

別讓我等(Don’t make me wait)
不過,ajax本身就存在著如果客戶端的帶寬不夠,它的展示就會一塌糊涂的問題,這是它的先天缺陷,也是它崛起的先天因素--由于網速和帶寬的不斷增大,使得服務端與客戶端的頻繁通信成為可能。

顯式的傳遞敏感信息(Sending sensitive information in the clear)
使用js傳遞數據,本身似乎就存在著這個風險,在我找到反對意見之前,我傾向認同這點--https協議除外。

假設ajax發展是一個單平臺的發展。(Assuming AJAX development is single platform development)
作者文中的觀點是ajax由于必須兼容多個瀏覽器,而沒法做到只需要編碼到標準的js就行,還要考慮到各個瀏覽器的問題……這個是js的問題,和ajax關系不大吧?

忘掉了可能多人在同時使用同一個應用(Forgetting that multiple people might be using the same application at the same time)
嗯,這其實是一個同步的問題,在b/s系統中這是一個麻煩的問題……當然,也許并不麻煩,做一個標記位就解決了吧?

太多代碼讓瀏覽器慢下來(Too much code makes the browser slow)
呃……同意這點,雖然在代碼優化之后會有很大改善,但js本身運行速度慢這個缺陷還是會成為一個瓶頸。

不計劃要那些禁用或者沒有js的用戶(Not having a plan for those who do not enable or have JavaScript)
呃……我在頁面上用ajax的時候就準備放棄這些用戶了,我沒google那么閑,作兩套系統,一套用ajax,一套純頁面。不過養成一個良好的編碼習慣還是有必要,比如在超鏈接中不要直接設置href="javascript:..."而使用onmouseup或者onclick來觸發事件,偶爾也為別人考慮考慮嘛,而且我也不能保證我的js程序在所有的瀏覽器上通吃。

不期然的頁面閃爍和改變(Blinking and changing parts of the page unexpectedly)
我沒經歷過以前網頁中blink標簽的騷擾,所以我對作者的反感有點摸不著頭腦,我覺得在適當的提示之后刷新某塊頁面總比整個頁面的刷新看起來舒服。

沒法把超鏈接發給朋友以及收藏(Not using links I can pass to friends or bookmark)
嘿嘿,這就是我上面提及的那點,如果編碼習慣夠好--而且時間夠多,在超鏈接中為非js用戶和js用戶提供兩套方案是可行的。

同步導致的批量操作(Asynchronously performing batch operations)
作者的意思是說ajax一次性把原來要分幾次作的操作一次做掉,而導致他沒法跟蹤每個元素變化,沒法回溯,呃……也許是有這種需求吧。。不過似乎也是可以解決的吧?

導致頁面滾動并讓我迷失位置(Scrolling the page and making me lose my place)
作者認為插入文本到一個頁面中會導致頁面發生滾動,并讓其迷失方向,我沒看過這么惡心的效果,沒法評價,不過我對于一些ajax的導航作的不好表示不滿意,我經常會迷失于一些ajax程序中而不知道我剛才上一步到了哪里……

發明了新的UI習慣(Inventing new UI conventions)
呵呵,作者用了一句話來描述這個缺點:“點擊一個不明顯的東東來產生一個不明顯的結果”。這個歸納倒是滿準確的,在很多ajax程序中,用戶完全是作為一個瞎子,在抖抖索索的摸著這個ajax程序大象,在到處瞎點一氣并瞎拖一氣之后才掌握這個程序的用法。但是換個角度來說,最開始的web頁面不也是一樣?沒有開始的困難接觸,不會有之后的進步,只要有足夠的幫助,上手任何東西都應該不會太難--除非這東西本來就不想讓人覺得好用,那就是其它的問題了。

阻止了爬蟲(Blocking Spidering)
同意這點,我在猶豫著使用ajax的時候,就在考慮爬蟲對js的不感冒,以及爬蟲該如何理解我那些以奇怪方式加載的頁面,去解析ajax庫似乎是一個不可能的事情,爬蟲又不是人腦,如果爬蟲可以媲美人腦,那就是《駭客帝國4》了。

字符集(Character Sets)
ajax本身對字符集的支持比較缺失,這個這個……設置成utf-8吧,不過作者最后也是這么說的。

使用超鏈接改變狀態(Changing state with links (GET requests))
作者認為主流的ajax應用程序都是用get方式來工作,而這違反了W3對GET和POST方法的使用建議……我少見多怪,主流的ajax應用程序我沒怎么去看,不知道是不是真的都用get,雖然ajax編碼用get簡單,但不表示ajax不能用post吧?

沒有連帶改變頁面中其它相關部分(Not cascading local changes to other parts of the page)
因為ajax讓人很容易控制頁面中的特定部分,所以也容易導致過于關注某個點而失去對整體布局的關注。嗯嗯……這是編碼的問題,表怪到ajax頭上。

問題報告(Problem reporting)
作者認為服務端的程序錯誤,很容易再現并捕捉,而客戶端的錯誤要重現就比較麻煩,嗯,支持這點,不過還是和ajax關系不大……

投資回報(Return on Investment)
作者認為ajax能夠提升應用程序的可用性,但是富客戶端程序并不會比純html版本好多少……忽略這個觀點,來人,把作者拖出去,賬責五十

拙劣地模仿瀏覽器頁面跳轉行為(Mimicing browser page navigation behavior imperfectly)
……忽略,沒看到作者所描述的情況。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大渡口区| 抚州市| 临猗县| 田林县| 喀喇| 澜沧| 炉霍县| 邵武市| 古丈县| 咸阳市| 彰化县| 伽师县| 泰来县| 曲水县| 留坝县| 壤塘县| 兰西县| 潢川县| 西乌珠穆沁旗| 金乡县| 澄城县| 博客| 昌平区| 左云县| 海伦市| 长治市| 银川市| 桑植县| 丽江市| 资溪县| 哈密市| 海晏县| 阜康市| 民丰县| 锡林浩特市| 西畴县| 文化| 佛山市| 永寿县| 丰镇市| 临城县|