您的位置: 首页 > 技术文档 > 网页制作 > ajax的缺点
javascript的函数 回到列表 一实用的Javascript类库
 ajax的缺点

作者:Sheneyan 时间: 2006-07-25 文档类型:原创 来自:蓝色理想

http://swik.net/Ajax/Ajax+Mistakes

在某网站瞎逛时,发现这个链接,进去逛了逛,觉得很有意思,大家也可以去看看,姑且不论你是否同意里面的观点,看看别人看待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)
……忽略,没看到作者所描述的情况。

经典论坛讨论:
http://bbs.blueidea.com/viewthread.php?tid=2648121

出处:蓝色理想
责任编辑:moby

◎进入论坛网页制作网站综合版块参加讨论

作者文章 更多作者文章
javascript的函数
用Google Sitemaps帮助你SEO
滑动门菜单技术
jscript/javascript条件编译
如何使用ajax开发web应用程序
关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
浅谈JavaScript编程语言的编码规范
如何在illustrator中绘制台历
Ps简单绘制一个可爱的铅笔图标
数据同步算法研究
用ps作简单的作品展示页面
CSS定位机制之一:普通流
25个最佳最闪亮的Eclipse开发项目
Illustrator中制作针线缝制文字效果
Photoshop制作印刷凹凸字体
VS2010中创建自定义SQL Rule

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2