标题：Ajax 实战：Prototype与Scriptaculous篇
基本信息
原书名： Prototype and Scriptaculous in Action  原出版社： Manning Publications
作者： (英)Dave Crane    (美)Bear Bibeault    (英)Tom Locke  
译者： 陈广琛 叶古 王俊煜
丛书名： 图灵程序设计丛书 Web 前端开发
出版社：人民邮电出版社
ISBN：9787115210708
上架时间：2009-8-14
出版日期：2009 年8月
开本：16开
页码：365
版次：1-1
内容简介
prototype和scriptaculous是目前广泛应用的ajax/javascript库，可以大大节省开发时间，创建更丰富精彩的用户界面。.
本书是ajax技术大师dave crane继《ajax实战》、《ajax实战：实例详解》之后，与两位世界级web专家联手打造的又一部力作，广受好评。作者高屋建瓴，深入剖析这两个库的基本特性和技术内幕。整本书只有三百多页，却面面俱到，包含一百多个典型精致并且彼此联系的示例，用于帮助读者快速学习这两个库。你将在作者生动的引导下开发一个基于web的图片查看器应用，学习prototype的高级ajax特性、scriptaculous特效与控件的添加、拖放操作的实现等，由此掌握如何在实战中灵活应用这两个库。书中深入探讨了prototype专为javascript核心对象类型提供的新特性，并讨论了几个核心库之间的整合。..
这是一本讲述prototype和scriptaculous的实用性极强的综合指南。本书在简要介绍这两个库在宏观应用中的意义之后，再通过 quickgallery图片浏览器示例探索突破传统 web应用局限的捷径，研究prototype辅助类及其运行方式；随后介绍如何添加scriptaculous特效和控件，如何实现拖放；接着结合短小实用的示例探讨prototype为javascript带来的各种新特性。书中还阐释了如何在实战中使用这两个库，最后探讨几个库之间的整合、http 相关知识等。
本书适合各层次web开发人员阅读。
作者
Dave Crane ，著名的Ajax权威，领衔撰写了《Ajax实战》三部曲。.
Bear Bibeault ，资深Web技术专家，有三十多年编程经验，技术社区JavaRanch的核心人物之一。参与了圣经级巨著《Ajax实战：实例详解》和《jQuery实战》（均由人民邮电出版社出版）的撰写。..
Tom Locke，资深Web技术专家，开源项目Hobo （Ruby on Rails开发工具插件集合）的创始人，LiveLogix的首席技术官。
目录
第一部分　入 门 指 南.
第1章　prototype与scriptaculous入门        2
1.1　ajax简史        2
1.1.1　史前        3
1.1.2　拓荒阶段        3
1.1.3　开拓者的到来        4
1.1.4　文明        4
1.2　什么是prototype        4
1.2.1　javascript的语言特性        5
1.2.2　web浏览器中的特性        6
1.3　什么是scriptaculous        7
1.3.1　视觉特效        7
1.3.2　拖放        7
1.3.3　组件        8
1.3.4　实用工具与测试框架        8
1.4　应用prototype与scriptaculous        8
1.4.1　评分示例分析        9
1.4.2　使用prototype与scriptaculous        13
1.5　小结        18
第2章　quickgallery简介        19
.2.1　设计与实现        19
2.1.1　应用程序的需求        19
2.1.2　导航文件系统        20
2.1.3　生成缩略图        23
2.1.4　组装        24
2.1.5　创建html        27
2.2　评估传统的web应用程序        30
2.2.1　链接、表单与整页刷新        30
2.2.2　传统web应用与quickgallery        31
2.3　小结        32
第3章　使用prototype简化ajax        33
3.1　为ajax重设计        33
3.1.1　设计异步请求        34
3.1.2　prototype的ajax类        35
3.2　使用xml与ajax        39
3.2.1　设计xml响应        40
3.2.2　修改服务器端代码        40
3.2.3　编写客户端代码        42
3.3　使用json与ajax        48
3.3.1　修改服务器端代码        48
3.3.2　修改客户端代码        49
3.4　小结        50
第4章　使用prototype的高级ajax特性        51
4.1　prototype的高级ajax类        51
4.1.1　ajax.updater        51
4.1.2　ajax.periodicalupdater        52
4.1.3　ajax.responders        53
4.2　使用html与ajax        53
4.2.1　生成html片段        53
4.2.2　修改客户端代码        54
4.2.3　更新多个dom元素        55
4.2.4　自动更新内容        59
4.3　比较以数据为中心的ajax和以内容为中心的ajax        61
4.3.1　考虑开发的难易程度        61
4.3.2　适应工具之道        62
4.3.3　比较性能        62
4.3.4　寻求向前兼容的解决方案        66
4.4　小结        66
第二部分　scriptaculous快速入门
第5章　scriptaculous特效        70
5.1　快速见效：一行代码即可添加特效        70
5.2　配置scriptaculous与示例        72
5.2.1　获取scriptaculous        72
5.2.2　加载scriptaculous库        73
5.3　scriptaculous特效的分类        74
5.4　特效        74
5.4.1　特效实验室        75
5.4.2　常见的特效选项        76
5.4.3　核心特效        77
5.4.4　组合特效        81
5.5　简单切换显示与隐藏特效        83
5.5.1　effect.toggle()工具函数        84
5.5.2　toggle pane小部件        84
5.6　使用过渡效果        88
5.6.1　使用内建过渡效果        89
5.6.2　transition mapper简介        90
5.6.3　创建自己的过渡效果        91
5.7　在特效过程中进行控制        93
5.8　中止特效        94
5.9　控制多个特效        95
5.9.1　执行同步特效        95
5.9.2　执行序列特效        95
5.10　小结        98
第6章　scriptaculous控件        99
6.1　使用本章的示例程序        99
6.2　就地文本编辑器        100
6.2.1　创建就地文本编辑器        100
6.2.2　inplaceeditor的选项        103
6.2.3　一些用例        108
6.3　inplacecollectioneditor        114
6.3.1　创建inplacecollectioneditor        115
6.3.2　inplacecollectioneditor的选项        116
6.4　ajax自动完成控件        117
6.4.1　创建ajax自动完成控件        118
6.4.2　ajax.autocompleter选项        120
6.4.3　科幻电影自动完成servlet        122
6.4.4　对选项菜单的修饰        126
6.5　scriptaculous的本地自动完成        127
6.5.1　创建一个本地自动完成        128
6.5.2　autocompleter.local的选项        129
6.6　滑块控件        131
6.6.1　创建滑块控件        132
6.6.2　在滑块中使用图片        134
6.6.3　control.slider的选项        136
6.6.4　一个更有趣的示例        139
6.7　小结        142
第7章　scriptaculous拖放        144
7.1　本章的示例代码        145
7.2　把东西拖起来        146
7.2.1　让一个元素可被拖动        146
7.2.2　draggable的选项        148
7.3　把拖着的东西放下去        153
7.3.1　定义投放目标        153
7.3.2　投放目标的选项        153
7.3.3　拖放示例..        157
7.4　使用拖放进行排序        161
7.4.1　创建一个可排序元素        161
7.4.2　可排序元素的选项        163
7.4.3　序列化可排序元素        172
7.5　小结        176
第三部分　prototype深度研究
第8章　与object有关的一切        178
8.1　引入scratchpad应用程序        178
8.2　object类型        180
8.2.1　创建一个object        180
8.2.2　使用原型定义对象类型        183
8.2.3　对象的反射        185
8.3　对象与prototype        187
8.3.1　使用class.create()简化构造函数        187
8.3.2　使用object.extend()声明对象层次结构        188
8.3.3　简单的对象合并        188
8.3.4　对象层次结构建模        191
8.4　小结        197
第9章　function的乐趣        198
9.1　javascript函数        198
9.1.1　声明函数        199
9.1.2　调用函数        200
9.1.3　函数的上下文        201
9.1.4　函数的闭包        203
9.1.5　何时使用上下文与闭包        204
9.2　使用prototype.js扩展函数        206
9.2.1　bind()方法        206
9.2.2　bindaseventlistener()方法        207
9.3　小结        208
第10章　让array变得简单        209
10.1　array简介        209
10.2　javascript原生的array        210
10.2.1　使用length迭代array        210
10.2.2　将array用作堆：pop()与push()，shift()与unshift()        210
10.2.3　使用slice()、splice()与concat()进行分割与修改        211
10.2.4　使用reverse()与sort()重排数组        213
10.2.5　array与string：join()与split()        214
10.2.6　其他类似array的对象        215
10.3　prototype.js与array        215
10.3.1　使用first()、last()与indexof()按位置访问元素        215
10.3.2　使用clear()、compact()、without()与flattern()修改array        216
10.4　enumerable对象的方法        217
10.4.1　在数组中搜索：all()、any()与include()        218
10.4.2　使用detect()、findall()、reject()、grep()与partition()过滤数组        219
10.4.3　使用pluck()、invoke()与collect()操作复杂数组元素        222
10.4.4　使用inject()与zip()构造复杂数组元素        226
10.4.5　使用max()、min()与sortby()进行数值排序        228
10.4.6　使用dom集合        230
10.5　使用hash与objectrange        230
10.5.1　使用hash对象        231
10.5.2　使用objectrange对象        234
10.6　小结        234
第11章　回归浏览器        236
11.1　dom方法速成班        236
11.1.1　遍历树        237
11.1.2　修改树        240
11.2　prototype与dom        243
11.2.1　简单的辅助函数        243
11.2.2　element对象        245
11.2.3　insertion对象        249
11.2.4　position对象        250
11.3　扩展event对象        255
11.4　使用html表单        256
11.5　小结        260
第四部分　高 级 主 题
第12章　prototype和scriptaculous实践        262
12.1　quickgallery应用程序的需求        262
12.2　建立幻灯片编辑器        263
12.2.1　修改页面布局        263
12.2.2　定义一个拖放操作策略        268
12.2.3　实现拖放操作        269
12.2.4　提供可编辑的说明文字        271
12.3　添加基于ajax的持久存储        274
12.3.1　定义持久存储格式        274
12.3.2　保存幻灯片        274
12.3.3　从服务器读取内容        277
12.4　创建工具栏        278
12.5　构建幻灯片播放器        281
12.5.1　指定用户界面        281
12.5.2　实现幻灯片播放器        283
12.5.3　启动播放器        285
12.6　整合在一起        288
12.7　小结        301
第13章　prototype、scriptaculous与rails        303
13.1　生成javascript        303
13.1.1　hello world、prototype与rails风格        304
13.1.2　rails的辅助函数        305
13.2　ajax辅助函数        306
13.2.1　标准配置选项        307
13.2.2　ajax辅助函数一览        308
13.3　scriptaculous辅助函数        313
13.3.1　创建视觉效果        313
13.3.2　实现就地编辑器        314
13.3.3　添加自动完成功能        315
13.3.4　实现拖放        316
13.4　是否使用javascript        320
13.5　下一个层次：rjs        321
13.5.1　多重更新的问题        321
13.5.2　hello from rjs        322
13.5.3　多重更新与rjs        323
13.5.4　rjs之旅        324
13.5.5　以内联方式渲染rjs        326
13.6　小结        327
附录a　http基础        328
附录b　监测http流量        338
附录c　安装和运行tomcat 5.5        346
附录d　安装并运行php        351
附录e　移植服务器端技术...        360