ajax的缺点(2)
作者:子乌 来源:蓝色理想 发布时间:2007-11-08 12:51:00
同步导致的批量操作(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)
……忽略,没看到作者所描述的情况。
猜你喜欢
- 在ASP中,你可通过VBScript和其他方式调用自程序。实例:调用使用VBScript的子程序如何从ASP调用以VBScript编写的子程
- 这篇分享几个在地址栏实现的Javascript有趣效果和应用。能在浏览器地址栏实现的效果太多了,字体放大、显示所有图片、显示Cookie等等
- 现在的域名提供已经取消免费的url转发功能,而且我们一般主要用的是带www的域名,以前不带www的域名一般是做url转发跳转到带www的域名
- 代码如下:--新增表字段 ALTER procedure [dbo].[sp_Web_TableFiled_Insert] (
- SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii('A') A,a
- 看到这张照片,我们一眼能够看到天宏(图中这位UED俊男)的眼睛。我们能从他的表情里读出一些他的性格。一张好的摄影作品,最重要的一点,就是这个
- 先看下面例子的效果:<INPUT TYPE="text" NAME=""&
- 问题: 1.购物车中的数据是否应该存储在数据库中? 我特别想知道在真正的项目中,那些真正的软件工程师是如何考虑这个问题的。在Google上一
- 在日常的前端开发工作中,我们会经常的与HTML、javascript、css等语言打交道,和一门真正的语言一样,计算机语言也有它的字母表、语
- <% dim conn,mdbfile mdbfile=server.mappath("数据库名称.mdb") s
- String Types(字符串类型)字符串类型Mysql支持多种字符串类型的变体。 这些数据类型在4.1和5.0版本中有较大的变化, 这使
- 抽象工厂模式Abstract Factory Pattern是什么抽象工厂模式是一种创建型模式,它提供了一种创建一系列相关或相互依赖对象的最
- CSS styles和HTML styles有什么区别?HTM style是指自定义HTML标识中一些标签,例如说在HTML中〈B〉〈/B〉
- 建立合理的索引提高SQL Server的性能在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡量应用系统成败的标准。而采用
- 本文中介绍的主要是SQL语句,请大家不要在Access中使用。SQL的分类:DDL—数据定义语言(CREATE,ALTE
- oblog 推出了4.0的最新版本,这个不是重点,重点是4.0的版本中附带了xml-rpc支持。oblog的支持代表着大量的国内blog站点
- 1,建立数据库文件cnbruce.mdb(不设计任何表)建立数据库的代码:<% Option Explicit&
- 代码如下:SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /* by kudychen 2
- 很多网友在浏览网页时应该会发现很多网页有显示时间和日期的功能,这个不难,使用可视化网页制作软件Drea
- Expression定义 IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javascript表达式关联起来,这