中国顶呱呱口吃俱乐部 公益口吃矫正组织 联系电话:029--88729353

查看完整版本: 事实说话!AJAX应用程序开发七宗罪

失踪冥王星 2007-3-20 20:09

事实说话!AJAX应用程序开发七宗罪

[size=3]  AJAX bandwagon是个好去处。它带给你更快、更高效、更强动态的应用。但它也有自身的缺陷。 [/size]  初一看,具备一些常识似乎就能避免这些缺陷,在一定程度上,的确如此。但从DHTML起源来看,AJAX应用程序充满了结构性差异。不论你在应用程序开发工作中掌握了多少常识,从别人犯的错误中吸取教训也是有好处的。我们称这些错误为“七宗死罪”,但它们不能代表全部的错误。
  事实上,在你犯这些致命过失之前,你可能首先犯了一些较轻的错误。因此我们从这里着手。这是每个人都可能犯的错误。这些错误是多么普遍,通过Google搜索一下,你就可以发现大部分的错误。
  七宗轻罪
  1.滥用Back按钮—这是每个人都会犯的错误。Back按钮在很多网页程序中已经成为用户的期望。很多AJAX研发新手在开发AJAX应用程序时,出于多种原因都敏捷地使用着Back按钮。首先,JavaScript对于它来说不是最友好的语言;其次,AJAX设计中需要一种全新的思考方式。
  对于AJAX 研发新手“后退”显然不是最好的选择。“后退”是一种你更新页面,或更常见的,你需要在特定情况下进行“撤销”时才用到的功能。在进行编码前应认识到这些,或者你可能重复做功。
  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节点向后引用的对象,在这一方向必须为空,否则其内存就会一直处于已分配状态。

失踪冥王星 2007-3-20 20:09

 我的一个朋友曾经抱怨,他的孩子每天花太多的时间在电脑上,他非常担心孩子的健康。他曾经就这个问题和他孩子谈了好多次,但是很难劝说。对一个只有6岁的孩子来说,他们还没有自控能力,很容易痴迷于电脑。我是一个支持孩子使用电脑的人,但是过度使用是不支持的。

  考虑到我朋友的问题,我建议他使用软件来限制计算机的使用时间。但是他又不想让他的孩子猜疑,想通过不使用任何软件的方法来限制使用时间。我突然想起了net user命令,很多人可能产生疑虑,为什么这个命令可以用到Windows中呢?下面我就给大家举例说明。

  首先,什么是“net user”命令
  Net user是一个命令作用:
  - 增加新用户帐户
  - 修改用户帐户
  - 显示用户帐户信息

具体语法:
  添加新的用户类型net user “account name” /ADD *(别直接引用),这个*是提供你帐号的密码。

  运用一个独立的,不含参数,就可以获得你电脑中所有用户的清单,删除用户,运用语法 delete parameter;net user text/delete

如何配置登陆时间?

  就是一些你熟悉的指令,学习怎样在参数中增加变量,改变限制登陆时间。让我们假设账户里要确定时间间隔获取已经存在,命令如同这样:net user “user account” /time:M-F,14:00-16:00。

  运用上面的语句,用户就可以有权利在星期1到星期5的14点到16点之间使用电脑。万一你的孩子在2点左右回家,就可以从保证他只使用2个小时电脑。你可以随意定时间,但一定要保证整时,不要出现14:15或者15:36的情况。你也可以不连续的设定某一个时间段。
页: [1]
查看完整版本: 事实说话!AJAX应用程序开发七宗罪