使用AJAX技术的七个易忽视的错误

  最近大家都抢着进入AJAX的行列。因为这个技术让你可以制造更快、更有效率、同时更为动态的程序。然而它本身也有一些问题。

  起初,这些问题多少可以透过简单的常识来避免。但AJAX程序与它的前身DHTML之间,还是充满许多结构上的不同。

  不管你对布署应用程序有多少知识,还是需要不断从发生过的错误中学习。我们把这些错误称为七个原罪,然而它不是这篇文章的全部内容。

因为在你犯下任何一项严重错误之前,很可能就会先犯几个较轻的错误。

  所以我们从这些每个人都会犯的较轻错误开始讲起。这些错误十分常见,你只要随便上Google搜寻就可以找到大部分的错误。


  七项轻罪


  上一页按钮的误用-这是每个人都可能犯的错。上一页按钮已经变在用户在各类网页应用上都期待要有的东西。许多AJAX的新手会从AJAX设计程 序上直接拖拉一个上一页按钮到程序里,结果是不能用。这有几个原因。首先,JavaScript并不是十分适合这样作的程序语言;其次,AJAX的设计思 维比较新。


  AJAX开发新手不见得都了解到,使用「上页」按钮不见得最好。「上一页」是你在更新页面,或要在事件上进行「复原」动作时需要的功能。在你写之前请先彻底思考过,否则恐怕就要重写一次。


  不告诉使用者发生什么事-AJAX的好处之一是它在加载时不使用传统的网页用户界面。所以你必须额外设计一些视觉指示,让用户知道发生了什么事。


  忽略连结-这是另个AJAX可能发生的标准错误:忽略可以被拷贝贴在程序之外的网址。你自己应该也常复制网页上的网址然后寄给别人吧?当你使用AJAX技术时,让使用者可以剪贴网址的唯一办法就是手动提供这个功能。为什么呢?因为在一个AJAX程序里,服务器不提供网页: 网页由JavaScript动态产生!所以请不要忽略使用者的潜在需要,因为对一般网页来说这是最常见的功能。请自己花力气提供网址,因为服务器不会作这件事。


  使用内容控制来取代页面控制-如果你希望提供动态的内容控制,那AJAX打破传统的客户-伺服端架构是一个绝佳的功能。但它同时也会是个诅咒:重写页面的特定区域,来调整用户的互动模式,绝对有所帮助,但这也让你见树不见林。


  我们往往会关注于网页特定的区块,而忘记整个网页不会随之被服务器更新。在屏幕上陈旧的信息可能会让网页四分五裂,或让使用者困惑。请把你的注意放在整个页面上;并确定任何动态内容的改变,能让使用者看到的部分都有被更新。


  把spider拒于门外-AJAX的好处是,你可以在不需要重新读取的情况下,把一大堆文字贴到页面上。而这同时也是它的坏处。如果这个应用希 望兼容于搜索引擎--呃,结果会怎样你可以自己想象。不管这个网页怎么变化更动,请放几个固定的文字在网页上方,让搜索引擎的spider可以处理。


  产生乱码-AJAX支持的字符码并不多。这虽然不是极关重要,但忘记这件事的确会造成问题。程序基本的字符组是UTF-8。不管JavaScript传送什么,请不要忘记将其正确编码,同时记得在服务器端设定内容的编码。


  让不支持JavaScript的使用者无所适从-市面上有些浏览器不支持JavaScript,但使用这些浏览器的人不会知道这代表什么意思。请记得要提供信息给这些用户。


  老实说大多时候这些是常识问题。但问题的发生往往是在情况没那么显而易见的时候。

AddThis Social Bookmark Button

相关文档(Relevant Entries)
Ajax按需读取数据生成下级菜单[转]
Ajax在PHP开发中的应用[转]
利用PHP和AJAX创建RSS聚合器
Ajax文档
AJAX掀起桌面网络开发的新篇章
Ajax专题
DWR version 2.0 milestone 1 is released
Better File Uploads with AJAX and JavaServer Faces
Posted on May 31, 2007 12:43 AM | | | Comments (0) | | TrackBacks (0)

引用地址(TRACKBACKS)
 
TrackBack URL for this entry:
http://www.wujianrong.com/mt-tb.cgi/2606

发布评论(ADD YOUR COMMENTS)
 
感谢您参与评论;发表您的意见时请保持文章的相关性;不相关的或是单纯宣传的内容可能会被删掉。您的E-mail只是用来确认您发表的文章,不会出现在网页上。
Please keep your comments relevant to this blog entry. Email addresses are never displayed, but they are required to confirm your comments.

称呼(Name):      记住我的个人信息(Remember)
邮箱(Email):
网址(Website):
评论(Add your comments):

相关内容