前言
第1章 拥抱html5
1.1 一个简单的html5页面
1.1.1 搭建支持的浏览器环境
1.1.2 检测浏览器是否支持html5标记
1.1.3 使用html5结构编写一个简单的web页面
1.2 html5页面的特征
1.2.1 应用全新的html5特征结构化元素
1.2.2 使用css文件美化html5新元素
1.3 本章小结
第2章 html5中常用的交互元素
2.1 内容交互元素
2.1.1 details元素
2.1.2 summary元素
2.2 菜单交互元素
2.2.1 menu元素
2.2.2 command元素
2.3 状态交互元素
2.3.1 progress元素
2.3.2 meter元素
2.4 本章小结
第3章 html5中的重要元素
3.1 html根元素
3.2 文档元素
3.3 脚本
3.4 节点
3.4.1 section元素
3.4.2 nav元素
3.4.3 hgroup元素
3.4.4 address元素
3.5 分组内容
3.5.1 ul元素
3.5.2 ol元素
3.5.3 dl元素
3.6 文本层次语义
3.6.1 time元素
3.6.2 mark元素
3.6.3 cite元素
3.7 嵌入内容
3.7.1 img元素
3.7.2 iframe元素
3.7.3 object元素
3.8 公共属性
3.8.1 draggable属性
3.8.2 hidden属性
3.8.3 spellcheck属性
3.8.4 contenteditable属性
3.9 本章小结
第4章 html5中的表单
4.1 input元素的新增类型
4.1.1 email邮件类型
4.1.2 url地址类型
4.1.3 number数字类型
4.1.4 range数字滑动条
4.1.5 date日期类型
4.1.6 search搜索类型
4.2 input元素新增的公用属性
4.2.1 autofocus属性
4.2.2 pattern属性
4.2.3 placeholder属性
4.2.4 required属性
4.3 新增表单元素
4.3.1 datalist元素
4.3.2 output元素
4.3.3 keygen元素
4.4 表单新增的验证方法和属性
4.4.1 checkvalidity显式验证法
4.4.2 使用setcustomvalidity方法修改提示信息
4.4.3 表单的novalidate属性
4.5 本章小结
第5章 html5中的文件
5.1 选择文件
5.1.1 选择单个文件
5.1.2 选择多个文件
5.1.3 使用blob接口获取文件的类型与大小
5.1.4 通过类型过滤选择的文件
5.1.5 通过accept属性过滤选择文件的类型
5.2 使用filereader接口读取文件
5.2.1 filereader接口的方法
5.2.2 使用readasdataurl方法预览图片
5.2.3 使用readastext方法读取文本文件
5.2.4 侦听filereader接口中的事件
5.3 使用datatransfer对象拖放上传图片文件
5.4 文件读取时的错误与异常
5.4.1 发生错误与异常的条件
5.4.2 错误代码说明
5.5 本章小结
第6章 html5中的视频和音频
6.1 多媒体元素基本属性
6.1.1 元素格式
6.1.2 width与height属性
6.1.3 controls属性
6.1.4 poster属性
6.1.5 networkstate属性
6.1.6 error属性
6.1.7 其他属性
6.2 多媒体元素常用方法
6.2.1 媒体播放时的方法
6.2.2 canplaytype方法
6.3 多媒体元素重要事件
6.3.1 媒体播放事件
6.3.2 timeupdate事件
6.3.3 其他事件
6.4 本章小结
第7章 html5绘图基础
7.1 画布的基础知识
7.1.1 canvas元素的基本用法
7.1.2 绘制带边框矩形
7.1.3 绘制渐变图形
7.2 在画布中使用路径
7.2.1 moveto与lineto的用法
7.2.2 使用arc方法绘制圆形
7.2.3 绘制渐变圆形
7.3 对画布中图形的操作
7.3.1 变换图形原点坐标
7.3.2 组合多个图形
7.3.3 添加图形阴影
7.4 处理画布中的图像
7.4.1 绘制图像
7.4.2 平铺图像
7.4.3 切割图像
7.4.4 处理像素
7.5 画布的其他应用
7.5.1 绘制文字
7.5.2 保存、恢复及输出图形
7.5.3 制作简单的动画
7.6 本章小结
第8章 html5中的数据存储
8.1 webstorage存储简介
8.1.1 sessionstorage对象
8.1.2 localstorage对象
8.2 localstorage详解
8.2.1 清空localstorage数据
8.2.2 遍历localstorage数据
8.2.3 使用json对象存取数据
8.2.4 管理localstorage数据
8.3 websql数据库基础
8.3.1 打开与创建数据库
8.3.2 执行事务
8.3.3 插入数据
8.3.4 数据管理
8.4 本章小结
第9章 html5中的离线应用
9.1 离线应用程序
9.1.1 manifest文件简介
9.1.2 配置iis服务器
9.1.3 离线应用的开发过程
9.2 本地缓存的更新及状态检测
9.2.1 updateready事件
9.2.2 update方法
9.2.3 swapcache方法
9.2.4 更新本地缓存时触发的其他事件
9.3 检测在线状态
9.3.1 online属性
9.3.2 online与offline事件
9.3.3 离线数据交互应用开发过程
9.4 本章小结
第10章 html5中的其他应用型api
10.1 websocketsapi
10.1.1 postmessage方法
10.1.2 使用websocket传送数据
10.1.3 使用websocket传送json对象
10.2 geolocationapi
10.2.1 使用getcurrentposition方法获取当前地理位置
10.2.2 使用google地图锁定位置
10.3 webworkersapi
10.3.1 worker对象处理线程
10.3.2 使用线程传递json对象
10.3.3 使用线程嵌套交互数据
10.4 本章小结
第11章 html5中元素的拖放
11.1 拖放基础
11.1.1 使用javascript代码实现拖放
11.1.2 在html5中实现拖放时触发的事件
11.2 datatransfer对象应用详解
11.2.1 使用setdata与getdata方法存入与读取拖放数据
11.2.2 使用setdragimage方法设置拖放图标
11.2.3 使用effectallowed与dropeffect属性设置拖放效果
11.3 拖放应用实战
11.3.1 购物车的实现
11.3.2 相册的管理
11.4 本章小结
实例1-1 检测浏览器是否支持html5
实例1-2 hello,world页面的实现
实例1-3 页面分栏实现
实例1-4 样式化页面实现
实例2-1 交互元素[details]的使用
实例2-2 用脚本控制交互元素[details]的使用
实例2-3 交互元素[summary]与[details]的结合使用
实例2-4 交互元素[menu]的使用
实例2-5 交互元素[command]与[menu]的结合使用
实例2-6 交互元素[progress]的使用
实例2-7 交互元素[meter]的使用
实例3-1 元素[html]的使用
实例3-2 元素[head]的使用
实例3-3 元素[script]与[noscript]的使用
实例3-4 元素[ol]的使用
实例3-5 元素[mark]的使用
实例3-6 元素[cite]的使用
实例3-7 公共属性draggable的使用
实例3-8 公共属性hidden的使用
实例3-9 公共属性spellcheck的使用
实例3-10 公共属性contenteditable的使用
实例4-1 email类型的[input]元素的使用
实例4-2 url类型的[input]元素的使用
实例4-3 number类型的[input]元素的使用
实例4-4 range类型的[input]元素实现颜色选择器
实例4-5 分类展示不同形式的选择日期
实例4-6 search类型的[input]元素的使用
实例4-7 [input]元素中autofocus属性的使用
实例4-8 [input]元素中pattern属性的使用
实例4-9 [input]元素中placeholder属性的使用
实例4-10 [input]元素中required属性的使用
实例4-11 [datalist]元素的使用
实例4-12 [output]元素的使用
实例4-13 [keygen]元素的使用
实例4-14 调用表单的checkvalidity方法
实例4-15 调用表单的setcustomvalidity方法
实例4-16 表单中novalidate属性的使用
实例5-1 选择单个文件上传
实例5-2 选择多个文件上传
实例5-3 获取上传文件的类型与大小
实例5-4 通过类型过滤上传文件
实例5-5 通过accept属性过滤上传文件的类型
实例5-6 使用readasdataurl方法预览图片
实例5-7 使用readastext方法读取文本文件
实例5-8 展示文件读取时触发事件的先后顺序
实例5-9 使用datatransfer对象拖放上传图片文件
实例6-1 使用多媒体元素播放文件
实例6-2 设置[video]元素的大小与样式
实例6-3 设置[video]元素的控制条工具属性
实例6-4 设置[video]元素的poster属性
实例6-5 获取[video]元素networkstate属性的返回值
实例6-6 获取[video]元素error属性的返回值
实例6-7 自定义[video]元素控制条工具栏
实例6-8 使用canplaytype方法检测浏览器支持媒体类型
实例6-9 获取多媒体元素在播放事件中的不同状态
实例6-10 通过timeupdate事件动态显示媒体文件播放时间
实例7-1 使用[canvas]元素绘制正方形
实例7-2 使用[canvas]元素绘制带边框的矩形
实例7-3 使用[canvas]元素绘制有渐变色的图形
实例7-4 使用moveto与lineto方法绘制多条直线
实例7-5 使用arc方法绘制多个不同样式的圆形
实例7-6 使用[canvas]元素绘制径向渐变的圆形
实例7-7 使用[canvas]元素移动、缩放、旋转图形
实例7-8 使用[canvas]元素设置多图形组合显示的方式
实例7-9 使用[canvas]元素添加绘制图形阴影
实例7-10 使用drawimage方法在画布中绘制图像
实例7-11 使用createpattern方法在画布中平铺图像
实例7-12 使用clip方法在画布中切割图像
实例7-13 使用getimagedata与putimagedata方法处理图像像素
实例7-14 使用filltext与stroketext方法绘制文字
实例7-15 在画布中保存、恢复及输出图形
实例7-16 在画布中制作简单的动画
实例8-1 使用sessionstorage对象保存与读取临时数据
实例8-2 使用localstorage对象保存与读取登录用户名与密码
实例8-3 清空localstorage对象保存的全部数据
实例8-4 遍历localstorage对象保存的全部数据
实例8-5 使用json对象存取数据
实例8-6 管理localstorage数据
实例8-7 使用opendatabase打开与创建数据库
实例8-8 使用transaction方法执行事务
实例8-9 使用executesql方法插入记录
实例8-10 使用executesql方法管理数据记录
实例9-1 开发一个简单的离线应用
实例9-2 监测updateready事件触发
实例9-3 使用update方法更新本地缓存
实例9-4 使用swapcache方法更新本地缓存
实例9-5 检测离线应用在加载过程中触发的事件
实例9-6 通过online属性检测网络的当前状态
实例9-7 通过online与offline事件检测网络的当前状态
实例9-8 开发一个离线留言数据交互应用
实例10-1 使用postmessage方法实现跨文档传输数据
实例10-2 使用websocket对象传送数据
实例10-3 使用websocket传送json对象
实例10-4 使用getcurrentposition方法获取出错数据信息
实例10-5 使用getcurrentposition方法获取地理位置信息
实例10-6 使用google地图锁定位置
实例10-7 使用worker对象处理线程
实例10-8 使用线程传递json对象
实例10-9 使用线程嵌套交互数据
实例11-1 使用javascript代码实现元素拖放
实例11-2 元素在拖放过程中触发的事件
实例11-3 使用setdata与getdata方法存入与读取拖放数据
实例11-4 使用setdragimage方法设置拖放图标
实例11-5 使用effectallowed与dropeffect属性设置拖放效果
实例11-6 使用拖放api将商品拖入购物车
实例11-7 使用拖放api将图片拖入回收站