第一篇 JavaScript高级应用 1
第1章 Ajax简介以及使用的场合 1
1.1 Web发展回顾 1
使用Ajax的HelloWorld程序 1
Web发展回顾 3
1.2 Web应用发展历程 4
applet——人类实现胖客户的一种尝试 4
JavaScript&CSS——浏览器的双生子 5
DHTML——动态Web的基础 5
常见的服务器端技术 6
1.3 Ajax相关技术 6
1.4 Ajax使用场合与基本设计 7
1.5小结 7
第2章 浏览器中的JavaScript 8
2.1 BOM与navigator对象 8
BOM 8
navigator对象 8
2.2对象/特征检测法 9
对象/特征检测法代码详解 9
对象/特征检测法重点 9
对象/特征检测法优缺点 10
2.3 user-agent字符串检测法 10
user-agent字符串检测法代码详解 10
更好地使用user-agent字符串检测法 12
2.4 window对象 12
window对象的属性 12
系统对话框 13
状态栏控制 15
时间间隔和暂停 15
浏览器历史记录 16
screen对象 16
location对象 17
2.5小结 18
第3章 XMLHttpRequest对象 19
3.1 XMLHttpRequest对象综述 19
XMLHttpRequest对象概述 19
XMLHttpRequest对象的属性和对象 20
最简单的Ajax实例 21
3.2 Ajax技术与服务器交互原理 23
Ajax技术与服务器交互原理图详解 23
Ajax开发中的安全问题及开发规则 25
3.3小结 26
第4章 DOM基础及高级DOM技术 27
4.1什么是DOM对象 27
XML-无限数据传输 27
XML文档的节点层次 29
4.2 DOM对象的操作 31
基于XML的特定DOM对象 31
访问DOM对象的相关节点 31
检测节点类型 32
节点的属性解析 33
操纵DOM深层节点 35
创建节点 37
操作节点 39
4.3 HTML DOM 41
操纵HTML属性 42
Table方法 43
4.4测试DOM一致性和DOM Level 3 45
测试DOM一致性 45
DOM Level 3 46
4.5小结 46
第5章 JavaScript中的继承 47
5.1 JavaScript中的对象 47
什么是对象 47
声明及实例化对象 47
对象的引用及销毁 47
绑定机制 48
对象分类 48
作用域、静态作用域、this关键字 50
定义类的方式 51
实例以及实例方式使用的注意事项 56
5.2继承方式以及实现 56
继承方式以及实现 56
继承的重要实例 62
5.3小结 64
第6章 错误处理 65
6.1错误和异常 65
什么是错误和异常 65
异常处理的重要性 65
6.2错误报告 66
在IE中使用错误报告 66
Firefox中的错误处理 66
6.3异常处理 67
onerror事件处理函数 67
try catch语法结构 68
6.4常用JavaScript调试技巧 71
使用alert()进行调试 71
抛出自定义错误 72
常见的JavaScript调试器 73
6.5 JavaScript常见编译器 75
常见的JavaScript编写工具 75
Aptana的使用 76
6.6小结 79
第7章 JavaScript中的XML 80
7.1 XML DOM对象的支持 80
IE中的XML DOM支持 80
Fi refox中的XML DOM支持 83
7.2 XPath的支持 86
什么是XPath 86
IE中的XPath支持 88
Firefox中的XPath支持 88
7.3浏览器对XSLT的支持 93
什么是XSLT 93
IE中的XSLT支持 94
74小结 98
第8章 JavaScript中的事件流 99
8.1事件流分类 99
冒泡型事件流 99
捕获型事件流 100
DOM事件流 101
8.2事件处理函数和监听函数 101
IE中的事件处理函数 101
DOM事件处理监听函数 104
8.3事件对象 106
IE与DOM中的事件对象 106
IE与DOM中event对象的共性 109
IE与DOM中event对象的区别 112
8.4事件类型 115
鼠标事件 115
键盘事件 120
HTML事件 122
突变事件 127
8.5跨平台事件 128
定义跨平台事件处理对象complexEvent 128
添加/删除事件处理函数 128
统一格式的event对象 130
跨浏览器获取事件对象 137
跨浏览器获取事件对象使用实例 138
8.6小结 139
第9章 JavaScript如何与服务器通信 140
9.1 JavaScript中的cookie 140
cookie的属性以及限制 140
JavaScript中的cookie 141
ASP.NET中使用cookie传递数据的意义 143
在客户端与服务器端通过cookie传输数据 144
9.2使用HttpRequest对象实现与服务器的数据通信 146
改进了的跨浏览器实例化XMLHttpRequest对象的方法 147
GET请求与POST请求 147
9.3小结 148
第10章 正则表达式 149
10.1 RegExp对象 149
RegExp对象的实例化 149
RegExp对象的使用 150
使用正则表达式扩展字符串对象的方法 151
10.2正则表达式的简单模式 152
元字符 152
使用特殊字符 152
字符类 153
量词 155
10.3复杂模式 157
分组 158
反向引用 158
选择模式 159
非捕获性分组 160
边界 161
多行模式 161
10.4 RegExp对象其他属性 162
RegExp对象属性 162
静态属性 163
10.5常用验证方式 164
验证日期 164
邮件地址验证 165
10.6小结 166
第二篇 Microsoft ASP.NET AJAX控件 167
第11章 典型ASP.NET中的Ajax实现 167
11.1 ASP.NET中的Ajax实现方式 167
前台脚本与后台Ajax处理页面实现的ASP.NET AJAX应用 167
前台脚本与后台HttpHandler类实现的ASP.NET AJAX应用 170
CallBack实现ASP.NET AJAX应用 172
如何选择Ajax的实现方式 174
11.2小结 175
第12章 ASP.NET AJAX控件 176
12.1安装和认识ASP.NET AJAX控件 176
安装和ASP.NET AJAX控件及ASP.NET AJAX控件简介 176
ASP.NET AJAX架构简介 178
ASP.NET AJAX控件的优势 179
12.2 ASP.NET AJAX控件简要介绍 179
ASP.NET AJAX的5个基本控件 180
使用ASP.NET AJAX控件实现的页面无刷新的简单实例 180
12.3小结 182
第13章 ASP.NET AJAX控件的使用 183
13.1 Ajax化的GridView 183
系统实现概述 183
ScriptManager控件 183
UpdatePanel控件 185
UpdateProgress控件 186
Ajax GridView的程序层次结构 186
Ajax GridView数据类 187
前台代码 190
界面后台代码 192
13.2 Ajax无刷新聊天室 193
系统实现概述 193
Timer控件介绍 193
聊天消息实体类和用户实体类 195
聊天引擎类 199
聊天登录页面 202
聊天页面 205
13.3小结 209
第14章 ASP.NET AJAX Control Toolkit控件 210
14.1 AutoCompleteExtender控件 210
自动完成机制 210
AutoCompleteExtender控件 210
数据操作 211
自动完成功能使用的Web服务 212
自动完成功能的前台脚本 213
14.2实现页面无刷新的拖曳 216
ReorderList 217
日程表数据操作类 218
日程表的前台代码 222
14.3实现投票或评级功能的Rating控件 224
Rating控件的属性或方法 224
存储评价数据的XML文档 225
数据操作类 225
评级页面的前台代码 228
评级页面的后台代码 232
14.4小结 235
第三篇 ASP.NET AJAX非组件开发 236
第15章 ASP.NET AJAX注册登录 236
15.1需求分析及概要设计 236
需求分析 236
数据库设计 236
概要设计 237
15.2实现代码 237
服务器端数据操作类 238
前台页面 242
Ajax.js文件 243
用户登录控件Login.ascx 251
登录功能的服务器端HttpHandler处理 253
用户注册控件register.ascx 254
注册功能的服务器端HttpHandler处理 257
随机码生成页面Random.aspx 259
15.3小结 261
第16章 Ajax通讯录 262
16.1需求分析和概要设计 262
需求分析 262
数据库设计 262
概要设计 263
16.2实现代码 263
数据操作类 263
功能页面 265
通讯录用户控件AddressList.ascx 267
对通讯录的数据支持的服务器端HttpHandler 282
16.3小结 285
第17章 级联菜单 286
17.1需求分析和数据库设计 286
需求分析 286
数据库设计 286
17.2实现代码 287
功能页面 287
服务器端代码 292
17.3小结 294
第18章 Ajax进度条 295
18.1需求分析和概要设计 295
需求分析 295
概要设计 295
18.2实现代码 295
功能页面 295
前台JavaScript脚本 297
服务器端代码 299
18.3小结 302
第19章 Ajax聊天室 303
19.1需求分析和概要设计 303
需求分析 303
概要设计 303
19.2实现代码 303
聊天室后台引擎类 304
聊天登录页面 311
聊天页面前台代码 315
处理Ajax响应的服务器页面 319
19.3小结 321
第20章 WebQQ 322
20.1需求分析和概要设计 322
需求分析 322
概要设计 322
数据库设计 323
20.2登录模块 325
Ajax JavaScript脚本封装类 325
功能集成页面 326
用户登录的HttpHandler 329
20.3 QQ主面板实现 331
用户设定及信息显示面板前台代码 331
Frame页面后台代码 335
处理消息的MsgHandler 336
20.4好友列表模块 339
好友列表页面前台代码 339
好友列表页面后台代码 341
20.5聊天模块 343
聊天窗口前台代码 343
聊天窗口后台代码 348
20.6注册模块 350
头像选择页面 350
注册页面前台代码 352
注册页面后台代码 356
20.7添加好友模块 357
添加好友页面前台代码 357
添加好友页面后台代码 360
添加好友的HttpHandler 361
20.8数据操作类 363
基础数据操作类 363
用户数据操作 367
消息数据操作类 376
20.9小结 377
第21章 小偷模块 378
21.1需求分析和概要设计 378
需求分析 378
概要设计 378
21.2工具类 379
Thirf类 379
HtmlTools类 383
21.3 Ajax电视节目预告 387
XmlOperator类 387
电视节目预告页面 390
电视节目预告后台处理 395
21.4 Ajax在线翻译 400
翻译页面 400
在线翻译服务器端 403
21.5小结 404
第22章 内文广告系统 405
22.1需求分析和数据库设计 405
需求分析 405
数据库设计 405
22.2数据层实现 406
数据基本操作封装类 406
数据实体类基类 410
关键字实体类 410
广告信息实体类 412
自定义特性 413
SQL语句工厂类 415
数据映射类 422
关键字数据操作类 423
广告信息数据操作类 426
22.3内文广告系统前台处理 428
登录页面 428
关键字管理页面 430
广告信息管理页面 432
内文广告显示嵌入脚本 434
引入关键字信息的HttpHandler 434
内文广告处理脚本 435
Ajax请求HttpHandler 440
特别提醒 441
22.4小结 441
附录A JavaScript常用事件句柄 442
附录B JavaScript运行时错误列表 445