首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训

Adding Ajax中文版

  • 书名:Adding Ajax中文版
  • 作者:Shelley Powers著 李秀忠 译
  • 来源:电子工业出版社
  • 出版时间:2008年03月
  • ISBN:9787121059063
  • 定价:68元

看 书 评 论 收 藏打 分 购 买

图书版权归出版社和作者所有,CSDN & DearBook独家提供试读和连载
内容介绍:
Adding Ajax封面上的动物是一只带有叉状斑纹的鼠狐猴,通常叫做叉斑鼠狐猴(学名:Phaner furcifer)。几乎和所有狐猴一样,只有在马达加斯加(Madagascar)岛上,才能够找到叉斑鼠狐猴的踪影。叉斑鼠狐猴生活在这个国家的北部和西部的热带雨林中。叉斑鼠狐猴大约有18到22英寸长,但是它的尾巴就占去了整个长度的一半。这种狐猴名字的由来是:从每只眼睛到它的头顶各有一条条纹,最后汇成一个叉状。这种特殊的灵长目动物以温带落叶树木的树脂为食,但有时也吃昆虫幼虫分泌的蜜汁以及昆...

最近评论



正在载入评论列表...
热点评论

    精 彩 导 读

    Ajax:可以说是几分变革,几分演变,而又有几分完全是炒作。Ajax是一个笼统的术语,它常用于涵盖如下一套技术:  标记,例如HTML、XHTML、XML和SVG  JavaScript  CSS和XSLT  最后,但也非常重要的是浏览器对象,包括canvas对象和真正执行Ajax的XMLHttpRequest对象。 我们暂且不提人们最近的关注程度,就这些技术而言,其中的大部分都已经应用近十年之久了。那么为什么人们现在还仍旧如此热衷呢? Ajax不仅仅是一套技术-它还决定了web页面和web应用程序的新的发展方向。我们过去也曾有过这样的决定,但是我们却苦于没有这样的工具,来建立这样的应用程序。现在,这些规范经历了十年的考验,也已经日趋成熟,而且更重要的是,它们受到了web浏览器的广泛支持。新的规范继续涌现,而且这些工具的制造者也比以前更加亲密协作。 几年前,当web开发者最初尝试向web页面加入交互特性时,我们受着浏览器的制约,因为它们支持完全不同的模型,而且有时,甚至受制于不同的脚本语言。就连层叠样式表(Cascading Style Sheets ,CSS),这种作为一种统一的方式向页面添加表现层的技术,在应用时,都因解释的差异而受到困扰,更不必说一些专用的扩展了。 现在,CSS几乎受到了普遍的支持,尽管在一些系统中,还存在着一些“怪癖(quirks)”,其中大部分规范也已经受到了大多数浏览器的支持,而且现在,我们正处在这样的一个平台上,以前不能胜任的事情,现在却可以做的很好。至于脚本,经过ECMA标准组织的努力,我们已经有了一个JavaScript的发布版本,即ECMAScript,而且在Web的上上下下,它都受到了所有主流工具的认可和支持。 标记也变得更加复杂了,而且我们正在从结构松散、变化无常的HTML,向结构严谨、中规中矩的XHTML进行过渡。我们还加入了一些新的XML词汇,例如:可缩放矢量图形(Scalable Vector Graphics,SVG)-一种不必依赖插件和扩展对象,就可以加入交互图形的方式。它是和Canvas对象一起被引入的,它们都独立于任何标记,而且都将被包含在未来的HTML5中, HTML5则是旧的HTML向新的、结构严谨的XHTML过渡的一个中间产物。 然而,我们还没有完全放弃旧的私有对象。现在,与其在一个浏览器上实现它,还不如让它变得更加通用。XMLHttpRequest就是这样的一个对象,它允许我们直接从页面调用web服务,然后,动态地处理结果,而不必重载这个页面。 那么,这对开发者和用户意味着什么呢?它意味着你可以阅读一篇文章,点击它,然后就地编辑它-所有这一切都在同一个页面内完成。我们还可以从表中删除一些行,而且这种删除会立即生效。当然更新也会如此。 我们不必重载页面,或者照片就可以为照片添加分类。或者只通过点击缩略图,就可以放大显示那张照片。 我们对web表单的应用也发生了显著的变化。我们可以在一个列表中做出选择,而这些选项将被自动地添加到另外一个选择列表中。我们还可以使用拖拽的方式对表格内容进行排序,以及折叠一些域来腾出一些空间,或者点击标签页来填充一个大型表单的其他部分,或者来查看其他信息,而且这一切,我们还是不必重载这个页面。 当然,被我们当作“页面”的东西已经发生了变化,而且这种新的视角既有优点也有缺点。当有一百多个页面被加载时,不通过以前的刷新技术,单凭借“页面视图”,我们很难计算出应该为广告付多少费用。搜索引擎公司以及屏幕阅读器1(screen readers)都不能准确地理解动态生成的链接。因为在这种情况下,脚本已经被禁用或者不存在了,当进入依赖脚本的Ajax中时,我们已经没有办法完成任何事情了。 在这里,我们要提及渐进增强(progressive enhancement)的概念。由Steven Champeon根据哲学理论所提出的渐进增强概念认为:我们应该向现有的web技术,加入Ajax效果来增强它,而不是完全取代它。换句话说,你仍然可以建立比较传统的web应用程序,基于表单提交来更新一张表,然后,你可以增强它的功能,即:不必实际提交表单,就可以使用改变的表单域,来更新这张表。 在页面中,如果脚本被禁用,标签页会变成一系列纵向的节。数据没有变化,只是组织形式不同。这时,无论你是通过在PHP中所建立的应用程序,还是通过驻留在Unix box中的应用程序来,请求这些内容,亦或者是在Firefox、Safari以及IE浏览器中,通过JavaScript调用这些内容,这些内容最终将以幻灯播放(slideshow)的方式提供。 利用渐进增强的概念,脚本是否禁用也无关紧要,因为我们并没有丢失功能,仅仅是有些差异罢了。与此同时,Ajax会提高web应用程序的效率,而且在访问这些程序的人当中,大约有80%的人会使用合适的浏览器,而且脚本也是可用的。那么对于你来说最好的消息是:你已经离成功不远了。 读者对象 作为adding Ajax一书的读者,一个主要的假设是:你已经是一个web开发者,你希望通过加入Ajax效果,把你的比较传统的web应用程序升级到更高的层次。也可能,你已经拥有了web表单、服务端驱动(server-side-driven)页面以及静态内容,或者至少,你熟悉传统的web应用程序是如何工作的。这时,你是比较幸运的,你已经拥有了应用程序的“业务端”。现在你就可以把你的页面升级到更高的层次。 首先,还是让我们更详细地介绍一下阅读本书的预期读者。本书是为以下这些人准备的:  对web标记的使用有一定的经验,包括HTML和XHTML。  了解XML基础知识,包括了解既要保证语义有效,又要保证格式良好的必要性。  熟悉关系型数据库,并且至少在工作中,或者出于个人爱好和数据库打过交到。  使用过CSS,并且能够读懂大多数CSS样式表。  使用过JavaScript,而且对它非常熟悉,对面对对象的JavaScript是如何工作的,有比较好的见解。  更有兴趣扩展现有的应用程序,而不是建立所谓的富互联网应用程序(Rich Internet Applications,RIA)。 对于上面所列举的各项技术,本书并不要求你是这方面的专家,只是要求你有一些经验,并且借助一些帮助(比如,一些在线资源,或者其他特定的技术书籍)可以理解这些应用程序。 上面的最后一条相当重要。对于在web页面上,建立一个幻灯片播放替代软件(PowerPoint),或者建立一些在线游戏,以及其他纯脚本的解决方案,这些内容所需的概念,本书没有涉及。 本书所关注的完全是通过添加Ajax效果,来增强现有web应用程序的功能,它不是取代现有应用程序,而从头开始建立纯Ajax的解决方案。如果你对写一些基于web的电子表格这样的应用程序感兴趣,O'Reilly有其他一些非常好的书籍,更多地关注了这方面的内容。在这里,我只想建立一些更生动、有趣、而且更具交互性的web页面。 本书内容 我们并不要求你从头到尾通读本书。我们将每一章节尽量独立。也就是说,我们很少依赖前一章的工作成果,只是我们要使用一个Adding Ajax库,而这个库是在本书中逐步建立的。然而,所有的这些资料都已经包含在可供下载的实例中了。尽管如此,我还是建议你在阅读其他任何章节之前,先读一下第1章和第2章。 下面就是各个章节的主要内容: 第1章:准备迁移到Ajax 本章为Ajax技术提供了一个概述,而且在你坐下来准备编码之前,我们还讨论了,为改变你的网站制定策略的重要性。这里还涉及了发现你的网站读者的重要性,以及为完成这个任务提供了一些技巧。我们同时还介绍了一些标准的重要性,并且在你开始加入任何Ajax效果之前,一定要确保你有一个好的,稳定的web页面。一旦你读完了本章的内容,你就可以准备为你的应用程序,加入后面章节中所讨论的任何Ajax效果了。 第2章:Ajax基础 提供了对Ajax最核心的基本组件的讨论:如何与XMLHttpRequest对象打交道。在本章,我们还涉及了如何使用GET和POST请求,来请求一个web服务,以及针对跨域(cross-domain)的数据请求,如何使用动态脚本。至于数据格式,我们涉及了HTML、XML、以及最新的JSON(JavaScript Object Notation)。我们还讨论了Ajax请求的异步实质,而且还涉及了一些潜在的陷阱和性能问题。 第3章:Ajax工具及术语 介绍和演示了几个比较重要的Ajax库,包括Prototype、script.aculo.us、Rico、MochiKit等等。尽管大多数实例没有使用外部库,但是每章还是会有一些零星的实例,使用了一些这样的库,因此你将逐渐熟悉这些效果,学习如何扩展库,封装你自己的库,并且会发现一些和使用多个库进行Ajax开发相关的,比较有趣的挑战。 第4章:交互效果 学会交互部分,你才算学到了真正的Ajax,比如,如何和事件以及工作在多个浏览器上的事件处理器打交道,如何处理多个库的使用。另外,我们还涉及一些建立工具的技巧,从外部资源提取辅助数据,建立Ajax“渐变”来暗示变更、实时预览、以及在实时更新中整合实时预览。 第5章:空间:最后的边界 探索将web页面作为空间的概念,并且涉及了三个流行的管理web空间的方式。它们包括折叠(accordion),即空间被纵向折叠;标签页(tabbed page),即根据点击的标签提供页面;覆盖(overlay),即使用消息、照片或者其他材料覆盖在页面上。本章还将探索如何将这些完整的效果进行封装,以便能够通过一个库,为众多应用程序和页面提供这些效果。本章还讲解了如何将这些效果集成到web服务请求中。 第6章:动态处理数据 这里是真正的基础章节。在本章,你将学会如何更新数据,包括添加新数据、删除、以及更新这些数据,并且,所有的这一切,都将在一个页面中完成。由于我们的目标是在现有的web应用程序基础上进行扩展,所以表单更新和Ajax更新将同时存在,而且和睦相处。我们同时还使用了“渐变”为你的应用程序用户增添修饰和反馈。由于使用了“实时”更新和拖拽排序的效果,所以,我们也讨论了一些在Ajax中涉及到的数据库访问的性能和安全问题。 第7章:单页面应用程序中的历史、导航和位置 我们将在这里探索Ajax对Web的影响,包括破坏后退按钮、丢失浏览器历史、刷新页面时的动态效果的消失、链接一个Ajax“页面”,或者将该“页面”设为书签。在本章,我们将探索一些方式,重现这些消失的web效果,并且我们将尽可能地利用Ajax开发一个更好的效果,但同时仍旧保留Web最好的部分。 第8章:添加高级视觉效果 本章内容相当有趣。我们工作这么辛苦,现在让我们拿出画笔、涂鸦画板来渲泄一下。本章涉及了一些高级的CSS效果,包括拖拽滚动条、分页、Canvas对象、以及使用SVG。尽管最后两项还没有受到普遍的支持,但是支持的范围正在逐渐扩大,而且,如果使用它来弥补比较传统的数据表现形式,也是既有趣又有效的。 第9章:Mashup你的网站 在这里,我们将探索mashup技术。Ajax最强大的方面之一是引入web服务的能力,不管是我们自己的,还是其他人的,而且可以使用多种方式,直接在我们的web页面上整合这些数据。在本章,我们将来自Google的地图、来自Flickr的照片信息、以及来自Technorati的博客信息,全部整合到一个漂亮的标签页界面中,然后向你展示,无论是否使用脚本,使用这种实现方式,它都能够正常工作。 第10章:可扩展性、基础结构以及从头开始 本章我们终于可以从大量的代码实例中挣脱出来透透气了,让我们再来看一下性能、结构以及安全问题。我们将涉及web服务保密、需要发布的资源、以及如何紧密耦合你的服务和客户端组件。本章还将通过对一些框架的简单介绍,向你讲述了如何从头开始使用Ajax,这些框架可以使用很多语言,例如:Java、.NET、PHP、Perl、Ruby、Python等等。 PHP语言可能是当今web应用程序中,使用最普遍的编程语言之一,我们的Ajax应用程序服务端组件,就将使用这种语言。考虑到你可能了解Python、其他人又可能了解Ruby、还有一些人则了解.NET或者Java,但是更多的人了解PHP。如果你不了解PHP,PHP也比其他语言更容易上手。况且,据我所知的所有web主机,都提供了对PHP的支持。 本书约定 本书使用如下印刷约定: 斜体(Italic) 表示新术语、URL、文件名、以及文件扩展名。 等宽字体(Constant width) 表示广义上的计算机代码。包括命令、选项、分支、变量、属性、键、请求、函数、类型、类、命名空间、模块、特性、参数、值、对象、事件、事件处理器、XML标签、宏、文件内容、以及命令的输出结果。 等宽粗体(Constant width bold) 显示用户需要原样照抄的命令或其他文本。 等宽斜体(Constant width italic) 显示需要用户自行替换,或者根据上下文才可以决定的文本。 该图标表示一个技巧、建议或者一般备注。 该图标表示警告或者注意。 本书所提及的网站或者网页,目的是为了帮助读者找到有用的在线信息。我们一般同时给出了网页的地址(URL)和名字(title,heading)。一些地址相对比较复杂,但是你可以借助你所喜欢的搜索引擎,轻松地找到这些页面,比如,你可以在搜索引擎中输入页面的名字(一般把名字放到引号中)。如果根据地址找不到这个页面,使用这种方式可能会更好些,因为它可能被移到其他的某个地方,而使用名字可能是找到它们的唯一办法。 使用代码实例 本书的目的是为了帮助你完成你的工作。通常,你可能会在你的程序和文档中使用本书中的代码。除非你要在你的产品中使用这些代码的重要部分,否则,你不需要联系我们来获得许可。例如:写程序使用了本书中的几段代码不需要许可。出售或者发布O'Reilly书中的实例CD-ROM,则需要获得许可。通过引用本书,及其实例代码回答问题不需要获得许可。在你的产品文档中,收录本书中的大量实例代码需要获得许可。 我们感激您保留归属信息,但不是必需的。归属信息通常包括:标题、作者、出版社、以及ISBN。例如:“Adding Ajax by Shelley Powers. Copyright 2007 Shelley Powers, 978-0-596-52936-9.” 如果您感觉您对实例代码的使用,超出了正当使用,或者上面给出的许可,请随时通过下面的Email来和我们取得联系: permissions@oreilly.com 我们愿意听到您的声音 有关本书的建议和问题请致电出版社: O'Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 800-998-9938 (美国或加拿大) 707-829-0515 (国际或地区) 707-829-0104 (传真) 本书的网页列举了本书的勘误表、实例以及附加信息。网址为: http://www.oreilly.com/catalog/9780596529369 有关本书的建议或技术问题,请发email至: bookquestions@oreilly.com 如果需要关于我们的书籍、学术会议、资源中心以及O'Reilly Network的更多信息,请访问我们的网站: http://www.oreilly.com Safari®Enabled 当你在你所喜欢的技术书籍的封面上,看到Safari®Enabled图标时,这就意味着,你可以从O'Reilly Network Safari书架上找到它的在线版本。 Safari提供了比电子书更好的解决方案。它是一个虚拟的图书馆,它允许你轻松地搜索上千种顶级的技术书籍、剪切和粘贴实例代码、下载书籍中的章节,并且在你需要最准确、最前沿的信息时,它可以帮助你迅速找到答案。你可以在如下网址上免费尝试: http://safari.oreilly.com 致谢 像这类书不可能是一个人的创造力和劳动的结果-它来自于许多人的共同努力,包括那些概念的定义者、问题的解决者以及本书中一些库的建立者。 我要感谢的是本书中涉及到的所有库的建立者,感谢他们自愿,并且无偿地提供了这些库。尽管这些库的大部分开发者,没有因为他们的劳动而赚取任何费用,但他们还是提供了优美的网站、文档、bug修复以及新版本的发布,所有的这些内容都可以任你下载,并且可以在我们的任何应用程序中使用。 我还要感谢公共领域照片网站(Public Domain Photos:http://pdphoto.org/About.php)的建立者Jon Sullivan,是他给了我所有可以免费使用的照片,包括在第2章的应用程序中所使用的“appletini”2。 我要感谢为了这本书和我一起工作的人,包括我的审阅者:Elaine Nelson、Dare Obasanjo、Roger Johansson、Jesse Skinner、Roy Owens、Anthony Holder III、 Anne Zalenka和Kathy Sierra。我还要感谢我的编辑,Simon St.Laurent。这是我为O'Reilly独自创作的第三本书,了解我的人都非常钦佩Simon St.Laurent的耐心。 我还要感谢帮助我整理这本书的人,包括Lucie Haskins、Reba Libby、Laurel Ruma和Amy Thomson。 这本书会是一本非常好的书,因为我得到了所有的支持。  关于本书的勘误、请访问http://blog.csdn.net/bvbook
    line

    网站简介广告服务网站地图帮助联系方式诚聘英才English问题报告

    北京百联美达美数码科技有限公司  版权所有  京 ICP 证 020026 号

    Copyright © 2000-2006, CSDN.NET, All Rights Reserved