《精通Dojo》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)RAWLDGILLCRAIGRIECKE等著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115211668
  • 页数:402 页
图书介绍:Dojo的目标是解决开发DHTML应用程序遇到的那些长期存在的问题,从而使Web页面更具有动态能力。本书全面讲述了Dojo,从基本用法到高级主题,主要内容包括Dojo的event system,Dojo如何简化DOM编程等。

第1章 导论 1

1.1 Dojo的一些主要方面 3

1.1.1 Dojo不只是一个程序库,而是一个工具包 3

1.1.2 Dojo着眼于广大的用户群 4

1.1.3 Dojo是面向未来的 4

1.1.4 Dojo是开源的 4

1.1.5 Dojo分为三个项目 5

1.1.6 Dojo具有高度的概念完整性 5

1.2 如何使用本书 6

1.2.1 预备知识 6

1.2.2 示例代码 6

1.2.3 关于调试 6

1.2.4 本书大纲 7

1.3 致谢 7

第一部分 用Dojo玩转Ajax 10

第2章 轻松创建功能强大的Web表单 10

2.1 顾客如何评价传统表单 10

2.2 在服务器上安装Dojo 11

2.3 把Dojo和Dijit添加到网页 11

2.4 表单的布局 14

2.4.1 准备页面 14

2.4.2 用选项卡来组织表单 15

2.4.3 有问题吗 17

2.5 增强表单控制 19

2.5.1 验证字段 19

2.5.2 简单输入日期 20

2.6 组合起来 20

第3章 连接外部服务 23

3.1 Dojo远程脚本 23

3.2 与调用XHR相关的JavaScript习惯用语 24

3.2.1 字面量和散列 24

3.2.2 函数字面量 27

3.3 使用dojo.data和dojox.grid.Grid的Wish List 29

3.3.1 JSON语言 31

3.3.2 存根数据源 32

3.3.3 数据可用的小部件,dojox.grid.Grid 34

3.4 使用JSONP研究雪茄 37

3.4.1 网格和事件 39

3.4.2 XHR回调 40

3.5 使用dojo.xhrGet实现评论系统 42

3.6 错误与调试 45

第二部分 Dojo API 50

第4章 深入Dojo 50

4.1 模块化JavaScript 50

4.2 Dojo源代码组织 52

4.2.1 Dojo模块的分类 53

4.2.2 Dijit模块 54

4.2.3 取得源代码 54

4.3 载入Dojo 55

4.3.1 运行时配置 55

4.3.2 dojo.require 57

第5章 JavaScript语言的扩展 58

5.1 利用dojo.hitch实现绑定 58

5.1.1 绑定上下文 58

5.1.2 绑定参数 61

5.2 JavaScript 1.6的数组方法 63

5.3 支持多态 66

5.4 组合、结构化与复制对象 68

5.4.1 混合对象 68

5.4.2 复制对象 69

5.4.3 复制类似数组的对象 70

第6章 异步编程 71

6.1 利用Dojo进行DOM事件编程 71

6.1.1 编写事件处理函数 72

6.1.2 处理函数签名 72

6.1.3 键盘事件对象 74

6.1.4 事件传播 75

6.1.5 默认处理 76

6.1.6 关联处理函数 77

6.1.7 利用dojo.addOnLoad执行初始化代码 79

6.1.8 DOM事件分类 83

6.2 利用Dojo关联用户自定义事件 83

6.2.1 截获JavaScript函数 83

6.2.2 关联用户定义事件 84

6.3 发布-订阅 86

6.4 利用dojo.Deferred管理回调函数 87

6.4.1 示例:构建一个高性能显示引擎 88

6.4.2 实现进程控制 90

6.4.3 利用dojo.Deferred注册回调函数 91

6.4.4 错误处理 93

6.4.5 声明回调函数和错误处理函数 94

6.4.6 取消回调函数处理 96

第7章 DOM工具 100

7.1 核心Dojo DOM工具函数 100

7.2 查找和编辑节点 104

7.2.1 dojo.query 105

7.2.2 dojo.query选择器 107

7.2.3 dojo.NodeList能做什么 111

7.3 插入、移动和删除的DOM节点 113

7.3.1 操纵DOM树示例 114

7.3.2 使用dojo.place来移动节点 115

7.4 定位DOM节点 116

7.4.1 用CSS和Dojo定位 116

7.4.2 动态定位节点 119

7.5 动画 121

7.5.1 DHTML动画基础 121

7.5.2 使用dojo.animateProperty来实现动画 122

7.5.3 使用dojo.anim来实现动画 126

7.5.4 为问题列表挑战添加动画效果 126

第8章 基于XHR、script和iframe编写远程脚本 130

8.1 原生远程脚本 130

8.2 使用Dojo的XHR框架 131

8.2.1 调用dojo.xhr 132

8.2.2 args、ioArgs以及处理函数 133

8.2.3 内容处理方式 138

8.2.4 控制HTTP事务 142

8.2.5 使用表单 144

8.2.6 POST以及其他的HTTP方法 145

8.2.7 Dojo XHR的其他知识点 146

8.3 使用script实现远程脚本 146

8.3.1 探测动态加载的脚本 147

8.3.2 Dojo对于动态Script元素的支持 149

8.4 基于iframe编写远程脚本 152

8.4.1 Dojo对于使用iframe的脚本的支持 152

8.4.2 iframe的工具函数 154

8.5 使用远程脚本访问Web服务 155

8.5.1 明确定义远程过程调用 155

8.5.2 使用dojo.rpc执行远程过程调用 156

8.5.3 在Yahoo中使用Dojo RPC 159

8.6 书签和不带导航的后退按钮 161

8.6.1 简单的单页Web应用 161

8.6.2 使用dojo.back导航单页Web应用 163

第9章 使用dojo.declare定义类 166

9.1 为什么在JavaScript中使用面向对象编程 166

9.2 定义简单的类 167

9.2.1 原型以及原型的继承 167

9.2.2 Shape类的类继承 168

9.2.3 使用dojo.declare定义一个简单的类 169

9.2.4 dojo.declare创建的对象 170

9.2.5 标准的使用模式 172

9.3 使用单继承定义子类 172

9.3.1 Circle对象空间 174

9.3.2 调用父类中的方法 175

9.3.3 手工添加父类方法 176

9.4 聚合和多继承 177

9.4.1 使用聚合派生新类 178

9.4.2 各个实例的初始化 180

9.4.3 使用聚合类进行类型测试 182

9.5 预处理构造函数参数 184

9.5.1 处理构造函数参数的方法 185

9.5.2 使用散列来指定参数 186

9.6 解决属性名称冲突的问题 187

9.7 两阶段构造 189

9.8 不使用构造函数创建自定义对象 191

第10章 dojo.data 193

10.1 鸟瞰 193

10.1.1 捆绑的驱动类 194

10.1.2 数据存储器不是数据库 194

10.1.3 特性 197

10.1.4 使用dojo.data.ItemFileReadStore的例子 198

10.2 dojo.data和增量搜索 199

10.2.1 建立一个数据存储器对象 199

10.2.2 拉取提示数据 200

10.2.3 自动完成 201

10.2.4 查询 201

10.3 使用QueryReadStore进行作业划分 202

10.3.1 为什么你可能需要作业划分 202

10.3.2 将dojo.data的请求翻译为URL 203

10.4 从JavaScript调用读取方法 204

10.4.1 fetch方法和分页 204

10.4.2 排序 205

10.4.3 fetch的处理函数 205

10.4.4 更多的读取方法 206

10.5 Yahoo搜索驱动 207

第11章 Dojo加载器和构建系统 213

11.1 概述 213

11.1.1 加载器和构建系统协同工作 213

11.1.2 跨域加载器 214

11.2 Dojo加载器 216

11.2.1 dojo.require 216

11.2.2 模块路径 216

11.2.3 设置模块路径 217

11.2.4 使用模块路径控制版本发布 218

11.2.5 dojo.provide 219

11.2.6 模块模式 219

11.2.7 为跨域加载器编程 220

11.3 使用Dojo构建系统优化部署 222

11.3.1 使用build打包Release程序 223

11.3.2 Acmecorp的Magi-Browse 223

11.3.3 步骤1:全部按照默认设置 224

11.3.4 步骤2:打包 227

11.3.5 步骤3:层打包 230

11.3.6 步骤4:使用跨域加载器 231

11.3.7 步骤5:压缩 233

11.4 使用Dojo-Rhino压缩JavaScript资源 233

第三部分 高级Dijit 238

第12章 编写小部件脚本 238

12.1 到底什么是小部件 238

12.1.1 声明式小部件 239

12.1.2 编程式小部件 240

12.2 查找并操作声明式小部件 240

12.3 编程式地创建实例 243

12.4 扩展点 247

12.5 实例:实时表单 252

第13章 树 255

13.1 简单树结构 255

13.2 带有层次结构的数据存储器 257

13.2.1 ItemFileReadStore和树 257

13.2.2 JavaScript中访问复杂数据 259

13.3 扩展点 261

13.3.1 盒子树 261

13.3.2 onClick扩展点 262

13.4 操作树结构 262

13.4.1 添加、删除、修改树节点 263

13.4.2 把树结构保存到服务器 264

13.5 拖放 266

13.5.1 一个小的重构 267

13.5.2 _TreeNodes和关联对象 269

13.5.3 检查施放操作 270

13.5.4 施放和添加元素 272

第14章 网格 275

14.1 网格显示和设计 275

14.1.1 子行 277

14.1.2 视图 278

14.2 编程式地创建结构 279

14.2.1 JavaScript中网格结构的定义 279

14.2.2 行选择条 281

14.3 扩展点 282

14.3.1 单元格层次扩展点 282

14.3.2 聚合函数和onBeforRow扩展点 283

14.3.3 行选择 287

14.3.4 鼠标和键盘事件 288

14.4 单元格编辑 289

14.4.1 使用单元格编辑器 290

14.4.2 单元格格式化:formatter扩展点 291

14.4.3 数据同步 292

14.5 网格操作 292

14.5.1 排序 292

14.5.2 过滤 293

第15章 表单控件 296

15.1 表单控件的特性 296

15.1.1 Dijit表单控件和与之相对应的HTML代码 296

15.1.2 通用方法 297

15.1.3 提交表单 297

15.2 流水线编辑 298

15.2.1 对话框和工具提示对话框 298

15.2.2 内联编辑器 301

15.2.3 文本编辑 301

15.3 反馈 304

15.3.1 工具提示 305

15.3.2 进度 306

15.3.3 使用Toaster进行通知 307

15.4 日期、数值与国际化 308

15.4.1 标准格式 309

15.4.2 约束与格式化 309

15.4.3 取消标准形式 312

15.4.4 反馈 314

15.5 动作按钮、工具栏和菜单 314

15.6 ally 317

15.6.1 Tab顺序 318

15.6.2 获取扩展点的角色和状态 318

第16章 Dijit主题、设计与布局 321

16.1 主题结构 321

16.1.1 制作主题所需的文件 322

16.1.2 样式命名空间 323

16.1.3 样式继承 324

16.1.4 针对不同的浏览器的特定的样式定义 325

16.2 改变网页的视觉效果 326

16.2.1 单个HTML元素 327

16.2.2 元素类 327

16.2.3 主题段 328

16.2.4 从零开始制作主题 328

16.2.5 动态修改 329

16.3 无障碍和主题 330

16.4 面板:ContentPane和TitlePane 331

16.5 停靠容器:BorderContainer 335

16.6 栈容器 337

第17章 创建和扩展小部件类 341

17.1 使用dijit.Declaration定义小部件类 341

17.2 通过dojo.declare定义小部件类 346

17.3 小部件生命周期 349

17.3.1 dojo.parser和小部件 350

17.3.2 属性图 350

17.3.3 呈现小部件 351

17.4 扩展小部件 352

17.5 示例:一个Yahoo问答小部件 352

第四部分 富因特网应用程序 358

第18章 创建富因特网应用程序 358

18.1 概述 359

18.1.1 浏览器是一个UI平台 359

18.1.2 浏览器应用框架 359

18.1.3 工作空间对象简介 360

18.1.4 命令系统 361

18.1.5 状态栏 362

18.1.6 可以按需载入数据的数据存储器 363

18.1.7 模拟服务 363

18.1.8 浏览器应用程序 363

18.2 第1步:创建应用程序骨架 363

18.2.1 组织结构 364

18.2.2 创建主程序 365

18.3 第2步:主菜单和命令系统 368

18.3.1 命令元素存储器 368

18.3.2 主菜单 371

18.4 第3步:可定制的状态栏小部件 375

第19章 向RIA中添加动态内容 379

19.1 第4步:导航器面板及随需而变的数据存储 379

19.1.1 按需检索树数据 379

19.1.2 实现一个延时树数据驱动 381

19.1.3 实现模拟服务 383

19.1.4 连接各个部分 385

19.2 第5步:工作区对象 387

19.2.1 实现WSO小部件 388

19.2.2 实现静态文本小部件 392

19.2.3 将WSO连接到框架中 395

第20章 继续学习 399

20.1 基础库 399

20.2 图形 400

20.3 Dojo Data和存储器 401

参考书目 402