第1章 HTML5概要 1
1.1 HTML5的发展历程 1
1.1.1 HTML标准概要 1
1.1.2 HTML5标准的产生 1
1.2 HTML5与HTML4的区别 2
1.3 HTML5中的API 5
1.3.1 HTML5标准自带的API 5
1.3.2 WHATWG创建的API 6
1.3.3 HTML5相关API 6
1.4 HTML5 API受支持情况 7
1.5 HTML5编程的基础 14
1.5.1常用Web技术概述 14
1.5.2 HTML5程序的书写方式 17
第2章 Canvas 22
2.1 Canvas基础 22
2.1.1 Canvas的规范概要 22
2.1.2 Canvas的基本用法 23
2.1.3第一个Canvas程序 24
2.1.4路径 26
2.1.5颜色定义 30
2.1.6绘制方法介绍 33
2.2绘制渐变效果 41
2.2.1线性渐变与圆形渐变 41
2.2.2线性渐变 42
2.2.3圆形渐变 44
2.2.4 Context的属性 46
2.3绘制图像 47
2.3.1 Canvas中的图像绘制 47
2.3.2像素处理 48
2.4绘制数据图表 56
2.4.1绘制方格图 56
2.4.2数据图表 58
2.5旋转与变形 63
2.5.1变形方法 63
2.5.2移动与扩大/缩小 64
2.5.3变形的保存与恢复 71
2.5.4旋转 72
2.5.5变形矩阵 74
2.6 绘制文本 81
2.6.1绘制文本概述 81
2.6.2对齐方式 83
2.6.3基准线 85
2.6.4绘制竖线图表 86
2.7 Canvas实现动画效果 92
2.7.1圆球跳动的动画 92
2.7.2待机动画 94
第3章 CSS3基础 96
3.1 CSS3基础应用 96
3.1.1阴影 96
3.1.2颜色的指定 99
3.1.3变形 100
3.2 CSS3动画 102
3.2.1 CSS3的动画功能基础 102
3.2.2动画的定义方法 103
3.3特效 105
3.3.1圆角 105
3.3.2渐变效果 106
3.3.3倒影 110
3.3.4多栏目布局 111
第4章 SVG 113
4.1 SVG基础 113
4.1.1 SVG规范概要 113
4.1.2 SVG的特征 114
4.1.3 SVG与Canvas比较 114
4.1.4 SVG与HTM L 115
4.2 SVG的语法基础 118
4.2.1文档类型与根元素 118
4.2.2 SVG的基本图形 121
4.2.3 SVG的修饰 136
4.3 SVG与JavaScript结合的实例 141
第5章 Video&Audio 155
5.1 〈video〉与〈audio〉概要 155
5.1.1视频与音频处理革命 155
5.1.2 〈video〉与〈audio〉基础 157
5.2 Video和Audio的方法与属性 159
5.3事件以及事件的发生顺序 162
5.3.1事件概要 162
5.3.2事件的发生顺序 163
5.4使用Video实现实时字幕 165
5.4.1 HTML代码 166
5.4.2脚本代码 168
5.5视频与Canvas的组合技巧 171
5.5.1在Canvas上绘制视频影像 171
5.5.2对视频进行黑白影像变换 173
5.5.3显示加工后的视频 175
5.6 创建简易音频播放器 180
5.6.1播放音频 181
5.6.2在脚本中控制音频 182
5.6.3检查音频文件是否可播放 184
5.6.4显示播放时间 188
5.7制作乐器演奏程序 191
5.7.1通过点击演奏 192
5.7.2通过按键演奏 194
5.8制作可变速视频播放器 198
5.8.1 HTML代码 199
5.8.2实现各按钮功能 201
5.8.3制作控制速度的滑块 202
第6章 拖放 205
6.1拖放基础 205
6.1.1规范概要 205
6.1.2 File API 206
6.1.3浏览器支持现状 206
6.2网页控件对象的拖放 206
6.2.1实例概要 207
6.2.2详细代码 208
6.2.3事件与dataTransfer 210
6.2.4 Internat Explorer中实现方法 213
6.3桌面文件的拖放实例 217
6.3.1实例概要 218
6.3.2详细代码 219
6.3.3拖放相关事件处理 225
6.3.4拖入文件的API 226
6.3.5读取文件内容的API 226
6.3.6文件读取时的事件 227
6.3.7文件导入的进度 227
6.3.8文件数据的读取 228
第7章 实现脱机Web应用程序 231
7.1脱机Web应用程序概要 231
7.1.1缓存清单 231
7.2脱机Web应用程序实例 232
7.2.1关于缓存更新 235
7.3 Cache-manifest的语法规则 235
7.3.1 FALLBACK段落 236
7.3.2 NETWORK段落 238
7.4在JavaScript中对缓存进行控制 239
7.5通过JavaScript创建缓存监视实例 240
第8章 WebSocket 244
8.1 WebSocket概要 244
8.1.1 WebSocket协议 245
8.2 WebSocket简单实例 246
8.2.1客户端代码 246
8.2.2服务器端处理的实现 249
8.3多个WebSocket连接的处理 254
8.4子协议的构筑与应用 259
第9章 Web Workers 269
9.1 Web Workers概要 269
9.2 Hell Web Workers实例 271
9.3计算素数个数 273
9.4 importScripts的应用 275
第10章 本地数据保存 277
10.1 Web Storage 277
10.1.1 Web Storage概要 277
10.1.2 LocalStorage应用 278
10.1.3使用localStorage创建简易记事本 281
10.1.4保存应用程序中的用户设置 284
10.2 Web SQL Database 289
10.2.1 Web SQL Database概要 289
10.2.2 Web SQL Database的基本使用方法 290
10.2.3创建ToDo记事本 295
第11章 Geolocation 302
11.1 Geolocation概要 302
11.1.1如何获取定位信息 303
11.1.2支持情况 303
11.2 HTML5中定义的Geolocation规范 304
11.2.1 Geolocation 304
11.2.2 getCurrentPosition 305
11.2.3 Position对象 306
11.2.4 PostionError对象 307
11.2.5 watchPosition 310
11.2.6 clearWatch 311
11.3 Google Maps API 312
11.3.1显示地图的基本方法 312
11.3.2显示标记 315
11.4美食餐饮店记录程序 318
附录A实用开发环境的构筑 325
附录B JavaScript的ECMA-262 3rd Edition与5th Edition的区别 331
附录C CSSTransitions与Animations 345
索引 354