第1章 HTML 5入门 1
1.1 HTML 5概述 1
1.1.1 HTML 5发展历程 1
1.1.2 HTML 5八大特性 2
1.2 HTML 5现状 3
1.2.1 浏览器对HTML5的支持情况 3
1.2.2 检查浏览器支持情况 4
1.3 HTML 5的变化 6
1.3.1 HTML 5标记方式的改进 6
1.3.2 HTML 5废弃的元素 9
1.3.3 HTML 5新增的元素 9
1.4 HTML 5全局属性 9
本章总结 14
本章练习 14
第2章 HTML 5文档结构 16
2.1 HTML 5文档结构元素 16
2.1.1 article元素 16
2.1.2 section元素 17
2.1.3 nav元素 17
2.1.4 header和hgroup元素 18
2.1.5 aside元素 18
2.1.6 footer元素 19
2.2 HTML 5其他新增元素 19
2.3 改良后的标签 26
2.4 HTML 5拖放API 30
本章总结 34
本章练习 35
第3章 HTML 5表单 37
3.1 HTML 5表单概述 37
3.2 HTML 5表单的改良 37
3.2.1 HTML 5表单控件 40
3.2.2 HTML 5表单属性 48
3.2.3 HTML 5表单控件属性 50
3.2.4 HTML 5表单验证 53
本章总结 55
本章练习 55
第4章 Canvas绘图 57
4.1 Canvas元素 57
4.1.1 HTMLCanvasElement 58
4.1.2 CanvasRenderingContext2D 60
4.1.3 Canvas坐标系 62
4.2 绘制矩形 63
4.3 绘制文本 66
4.4 绘制路径 70
4.5 绘制图像 86
4.5.1 图像加载 87
4.5.2 像素处理 89
4.5.3 图像平铺 93
4.6 图形合成 95
4.7 图形变换 98
4.8 图形渐变 104
本章总结 107
本章练习 108
第5章 SVG绘图 110
5.1 SVG概述 110
5.1.1 SVG发展历程 110
5.1.2 SVG特点 111
5.1.3 SVG的使用 112
5.2 SVG基本数据类型 115
5.3 SVG框架元素 116
5.4 SVG形状元素 119
5.5 SVG路径 125
5.6 SVG样式 126
5.6.1 SVG元素使用样式 128
5.6.2 SVG文件引用样式 129
5.7 文本内容 131
5.8 渐变填充 133
5.9 滤镜元素 136
5.10 动画与事件响应 138
本章总结 141
本章练习 142
第6章 多媒体API 143
6.1 多媒体概述 143
6.1.1 多媒体格式 143
6.1.2 HTML 5对多媒体的支持 144
6.2 HTML 5多媒体元素 145
6.3 多媒体API的使用 148
6.4 摄像头的捕获 152
6.5 视频截图 155
本章总结 156
本章练习 156
第7章 本地存储 158
7.1 Cookie技术 158
7.2 Web Storage 161
7.2.1 Session Storage 162
7.2.2 Local Storage 165
7.2.3 Storage Event 168
7.3 Indexed Database 170
7.3.1 IndexedDB API 171
7.3.2 Indexed数据操作 180
7.3.3 Indexed检索 186
本章总结 190
本章练习 191
第8章 文件API 193
8.1 文件API概述 193
8.2 File API 194
8.2.1 Blob接口 194
8.2.2 File接口 195
8.2.3 FileList接口 197
8.2.4 FileReader接口 199
8.2.5 URL接口 201
8.3 FileWriter API 203
8.4 FileSystem API 205
8.4.1 申请磁盘配额 205
8.4.2 请求访问系统 207
8.4.3 文件操作 209
8.4.4 目录操作 218
本章总结 226
本章练习 226
第9章 Server-Sent Events 228
9.1 Server-Sent Events概述 228
9.1.1 MessageEvent接口 230
9.1.2 EventSource接口 230
9.2 基于Servlet的动态图形报表 232
9.2.1 服务端的实现 232
9.2.2 客户端的实现 236
9.3 基于Node.js的动态图形报表 241
9.3.1 服务端的实现 241
9.3.2 客户端的实现 244
本章总结 245
本章练习 246
第10章 WebSocket和Notification 247
10.1 WebSocket概述 247
10.1.1 WebSocket接口 247
10.1.2 基于Java的WebSocket示例 249
10.1.3 基于Node.js的WebSocket示例 251
10.2 Notification概述 254
10.3 网络聊天室 257
10.3.1 聊天室客户端公共模块 258
10.3.2 基于Java的网络聊天室 260
10.3.3 基于Node.js的网络聊天室 267
本章总结 275
本章练习 275
第11章 离线应用和XHR 2 276
11.1 离线应用 276
11.1.1 manifest文件 276
11.1.2 applicationCache对象 278
11.1.3 Browser State 279
11.1.4 Web应用的交互过程 280
11.2 XMLHttpRequest 284
11.2.1 XMLHttpRequest Level 1 284
11.2.2 XMLHttpRequest Level 2 288
11.2.3 基于Java的拍照上传 293
11.2.4 基于Node.js的拍照上传 301
本章总结 304
本章练习 304
第12章 Web Worker和地理位置 305
12.1 Web Worker概述 305
12.1.1 Worker接口 305
12.1.2 Worker线程嵌套 308
12.1.3 SharedWorker接口 311
12.2 地理位置 314
12.3 百度地图API 316
本章总结 322
本章练习 322
附录A HTML 5新增和弃用标签 324
附录B NPM工具 326