2.5 自定义电子书阅读器程序
前几页中描述的内容可能会令你产生一些怀疑—难道这就是Ajax的全部吗?这真值得我投入时间和精力吗?为此,不得不再次强调,到目前为止我们的目标只是让你找到一些感觉,还没有向你真刀真枪地展示Ajax教程。请记住,本书的前提是为你提供即插即用式的Ajax应用程序和组件,以便通过最低限度的努力在自己的网页中重用它们。所谓最低限度的努力中有时候也需要一些常见的JavaScript技巧,这就是为什么我在一开始就鼓励你早点接触一些代码的原因。
说到在网页中重用代码,你是否考虑过刚才讨论的Booker应用程序怎样才能在某个项目中派上用场呢?可以这样来考虑:尽管当前这个应用程序只是一个基本的电子书阅读器,但它真正解决的问题却是允许用户选择并动态下载大型的文本文档。因此,任何涉及到选择难处理文档的应用都是类似的Ajax解决方案的理想候选项目。也许是一个包含很多档案文件的存档管理网站,或者是你的公司用纯文本形式存储着员工建议、制度或合同,而此时通过这样的Ajax界面来访问这些文件会更方便。如果是这样,那么你就可能会考虑根据自己的需要来对这个Booker示例进行自定义。
下面就是以相对较小的努力来修改这个应用程序的几种不同方式:
添加更多的内容—要给这个应用程序扩充内容很简单,只需把新电子书的文本文件复制到Web服务器上,然后再为每本新书添加一个新的选择列表项目就行了。但要注意保证每个<option>标签的value属性值(如warofworlds)必须与在该书文本文件名称(book_warofworlds.txt)中使用的简略书名匹配。
修改电子书内容的表现—如果你想提高电子书的可访问性,可能会考虑增加其字体的大小,甚至选择一种更适于阅读的字体。由于所有图书的内容都包含在ID属性值为booktext的div元素中,所以通过为这个div元素添加一些CSS字体样式,就很容易改变整本书的外观。
关闭Ajax诊断栏—在向公众发布你的应用程序之前,别忘了关闭Ajax诊断栏。为此,只要在页面的HTML代码中删除ID属性值为ajaxState的div元素,并删除handleRequest()函数中调用ajaxUpdateState()函数的那行代码即可。
如果你想对Booker应用程序做一些更酷的修改,并考虑一次只加载并显示每本电子书的一章内容,那你一定是得到什么消息了,因为下一章恰好要面对这一挑战。
小结
的确,本章一下子就切换到了高档位。你一开始小心翼翼地观赏了一遍Ajax这台机器的构成,学习了有关一个Ajax请求的生命周期的相关知识,然后踩着油门踏板急速地看完了对Ajax工具箱的介绍,最后又在不安和颠簸中体验了第一个完整的Ajax应用程序的构建过程。此时我要对你说,前途会越来越光明。没错,在构建应用程序时需要一些这样或那样的技巧,但同时你也开始了解了一些所有Ajax应用程序中非常通用的思路。
| 回书目 上一节 下一节 |