HTML5程序设计(第2版)pdf

HTML5程序设计(第2版) 内容简介

今天,HTML5在Web标准之争中已经胜出并被大多数浏览器所支持。体验HTML5带给Web开发的便捷、快速和强大功能,是每一位Web开发和设计人员的当务之急。

《HTML5程序设计(第2版)》由旧金山HTML5用户组创建人联合另外2位资深Web开发专家共同打造,为读者清晰解读了HTML5规范的缘由、发展和现状,全面展示了如何使用WebSocket、Geolocation、Web Storage、Canvas、SVG及音频/视频等亘古未有的新特性构建流行、强大的Web应用,并以大量的示例涵盖全部HTML5 API。

第2版进行了全面的修订,新增了针对HTML5视觉效果的SVG和针对用户体验的拖放这两部分内容,将助读者的Web设计和开发更上一层楼。

HTML5程序设计(第2版) 目录

第1章 HTML5概述

1.1 HTML5发展史

1.2 关于2022年的那个神话

1.3 谁在开发HTML5

1.4 新的认识

1.4.1 兼容性和存在即合理

1.4.2 效率和用户优先

1.4.3 化繁为简

1.4.4 通用访问

1.5 无插件范式

1.6 HTML5的新功能

1.6.1 新的DOCTYPE和字符集

1.6.2 新元素和旧元素

1.6.3 语义化标记

1.6.4 使用Selectors API简化选取操作

1.6.5 JavaScript日志和调试

1.6.6 window.JSON

1.6.7 DOM Level

1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎

1.7 小结

第2章 Canvas API

2.1 HTML5 Canvas概述

2.1.1 历史

2.1.2 canvas是什么

2.1.3 canvas坐标

2.1.4 什么情况下不用canvas

2.1.5 替代内容

2.1.6 CSS和canvas

2.1.7 浏览器对HTML5 Canvas的支持情况

2.2 使用HTML5 Canvas

2.2.1 检测浏览器支持情况

2.2.2 在页面中加入canvas

2.2.3 变换

2.2.4 路径

2.2.5 描边样式

2.2.6 填充样式

2.2.7 填充矩形区域

2.2.8 绘制曲线

2.2.9 在canvas中插入图片

2.2.10 渐变

2.2.11 背景图

2.2.12 缩放canvas对象

2.2.13 Canvas变换

2.2.14 Canvas文本

2.2.15 应用阴影

2.2.16 像素数据

2.2.17 Canvas的安全机制

2.3 使用HTML5 Canvas创建应用

2.3.1 进阶功能之全页玻璃窗

2.3.2 进阶功能之为Canvas动画计时

2.4 小结

第3章 SVG

3.1 SVG概述

3.1.1 历史

3.1.2 理解SVG

3.1.3 可缩放图形

3.1.4 使用SVG创建2D图形

3.1.5 在页面中添加SVG

3.1.6 简单的形状

3.1.7 变换SVG元素

3.1.8 复用内容

3.1.9 图案和渐变

3.1.10 SVG路径

3.1.11 使用SVG文本

3.1.12 组合场景

3.2 使用SVG创建交互式应用

3.2.1 添加树

3.2.2 添加updateTrees函数

3.2.3 添加removeTree函数

3.2.4 添加CSS样式

3.2.5 最终代码

3.3 小结

第4章 音频和视频

4.1 HTML5 Audio和Video概述

4.1.1 视频容器

4.1.2 音频和视频编解码器

4.1.3 HTML5 Audio和Video的限制

4.1.4 audio元素和video元素的浏览器支持情况

4.2 使用HTML5 Audio和Video

4.2.1 浏览器支持性检测

4.2.2 可访问性

4.2.3 理解媒体元素

4.2.4 使用audio元素

4.2.5 使用video元素

4.2.6 进阶功能

4.3 小结

第5章 Geolocation API

5.1 位置信息

5.1.1 纬度和经度坐标

5.1.2 位置信息从何而来

5.1.3 IP地址地理定位数据

5.1.4 GPS地理定位数据

5.1.5 Wi-Fi地理定位数据

5.1.6 手机地理定位数据

5.1.7 用户自定义的地理定位数据

5.2 HTML5 Geolocation的浏览器支持情况

5.3 隐私

5.3.1 触发隐私保护机制

5.3.2 处理位置信息

5.4 使用HTML5 Geolocation

5.4.1 浏览器支持性检查

5.4.2 位置请求

5.5 使用HTML5 Geolocation构建应用

5.5.1 编写HTML显示代码

5.5.2 处理Geolocation数据

5.5.3 最终代码

5.6 进阶功能

5.6.1 现在的状态是什么

5.6.2 在Goolge Map上显示“我在这里”

5.7 小结

第6章 Communication API

6.1 跨文档消息通信

6.1.1 理解源安全

6.1.2 跨文档消息通信的浏览器支持情况

6.1.3 使用postMessage API

6.1.4 使用postMessage API创建应用

6.2 XMLHttpRequest Level

6.2.1 跨源XMLHttpRequest

6.2.2 进度事件

6.2.3 HTML5 XMLHttpRequestLevel

6.2.4 使用XMLHttpRequest API

6.2.5 创建XMLHttpRequest应用

6.3 进阶功能

6.3.1 结构化的数据

6.3.2 Framebusting

6.4 小结

第7章 WebSockets API

7.1 WebSockets概述

7.1.1 实时和HTTP

7.1.2 解读WebSockets

7.2 编写简单的Echo WebSocket服务器

7.3 使用HTML5 WebSockets

7.3.1 浏览器支持情况检测

7.3.2 API的基本用法

7.4 创建HTML5 WebSockets应用程序

7.4.1 编写HTML文件

7.4.2 添加WebSocket代码

7.4.3 添加Geolocation代码

7.4.4 合并所有内容

7.4.5 最终代码

7.5 小结

第8章 Forms API

8.1 HTML5 Forms概述

8.1.1 HTML Forms与XForms

8.1.2 功能性表单

8.1.3 HTML5 Forms的浏览器支持情况

8.1.4 输入型控件目录

8.2 使用HTML5 Forms

8.2.1 新的表单特性和函数

8.2.2 表单验证

8.2.3 验证反馈

8.3 构建HTML5 Forms应用

8.4 小结

第9章 拖放

9.1 Web拖放发展史

9.2 HTML5拖放概述

9.2.1 蓝图

9.2.2 需要记住的事件

9.2.3 设置元素可拖动

9.2.4 传输和控制

9.3 构建拖放应用

9.4 拖放文件

9.5 进阶功能

9.6 小结

第10章 Web Workers

10.1 Web Workers的浏览器支持情况

10.2 使用Web Workers

10.2.1 浏览器支持性检查

10.2.2 创建Web Workers

10.2.3 多个JavaScript文件的加载与执行

10.2.4 与HTML5 Web

10.3 编写主页

10.3.1 处理错误

10.3.2 停止Web Workers

10.3.3 Web Workers的嵌套使用

10.3.4 使用定时器

10.3.5 示例代码

10.4 构建Web Workers应用

10.4.1 编写blur.js辅助脚本

10.4.2 编写blur.html应用页面

10.4.3 编写blurWorker.js

10.4.4 与Web Worker通信

10.4.5 运行程序

10.4.6 示例代码

10.5 小结

第11章 Web Storage

11.1 HTML5 Web

11.2 Web Storage的浏览器支持情况

11.3 使用Web Storage

11.3.1 检查浏览器的支持性

11.3.2 设置和获取数据

11.3.3 封堵数据泄漏

11.3.4 localStorage与sessionStorage

11.3.5 Web Storage

11.3.6 更新Web Storage后的通信

11.3.7 探索Web Storage

11.4 构建Web Storage应用

11.5 浏览器数据库存储展望

11.5.1 Web SQL

11.5.2 索引数据库API

11.6 进阶功能

11.6.1 JSON对象的存储

11.6.2 共享窗口

11.7 小结

第12章 构建离线Web应用

12.1 HTML5离线Web应用概述

12.2 使用HTML5离线Web应用API

12.2.1 检查浏览器的支持情况

12.2.2 搭建简单的离线应用程序

12.2.3 支持离线行为

12.2.4 manifest文件

12.2.5 applicationCache API

12.2.6 运行中的应用缓存

12.3 使用HTML5离线Web应用构建应用

12.3.1 创建记录资源的manifest文件

12.3.2 创建构成界面的HTML和CSS

12.3.3 创建离线JavaScript

12.3.4 检查applicationCache的支持情况

12.3.5 为Update按钮添加处理函数

12.3.6 添加Geolocation跟踪代码

12.3.7 添加Storage功能代码

12.3.8 添加离线事件处理程序

12.4 小结

第13章 HTML5未来展望

13.1 HTML5的浏览器支持情况

13.2 HTML未来的发展

13.2.1 WebGL

13.2.2 设备

13.2.3 音频数据API

13.2.4 触摸屏设备事件

13.2.5 P2P网络

13.2.6 最终方向

13.3 小结

HTML5程序设计(第2版) 精彩文摘

本章将探讨用于构建实时(real-time)跨源(cross-origin)通信的两个重要模块:跨文档消息通信(Cross Document Messaging)和XMLHttpRequest Level 2。通过它们,我们可以构建引人注目的Web应用。作为HTML5应用新的通信手段,这两个构建块可以让不同域间的Web应用安全地进行通信。
首先,我们要讨论HTML5通信规范中的两个主要元素:postMessage API和源安全(origin security)概念,之后将会展示如何用postMessage API在iframe、标签页和窗口间进行通信。

接下来,我们会探讨XMLHttpRequest Level 2——XMLHttpRequest的改进版,介绍XMLHttp-Request在哪些方面得到了改进,并会特别介绍如何用XMLHttpRequest发起跨源请求以及如何使用新的进度事件(progress event)。

6.1跨文档消息通信

出于安全方面的考虑,运行在同一浏览器中的框架、标签页、窗口间的通信一直都受到了严格的限制。例如,在浏览器内部共享信息对某些站点可能比较方便,但是同时也增加了受到恶意攻击的可能性。如果浏览器允许程序访问加载到其他框架和标签的内容,某些网站就能够利用脚本来窃取其他网站的某些信息。浏览器厂商合理地限制了这类访问,当尝试检索或修改从其他源加载的内容时,浏览器会抛出安全异常,并阻止相应的操作。

然而,现实中存在一些合理的让不同站点的内容能在浏览器内进行交互的需求。Mashup就是最典型的一个例子,它是各种不同应用的结合体,把来自不同站点的地图、聊天、新闻等应用全部整合到一起形成一个新的元应用(meta-application)。在这种情形下,如果浏览器内部能提供直接的通信机制,就能更好地组织这些应用。

为了满足上述需求,浏览器厂商和标准制定机构一致同意引入一种新功能:跨文档消息通信。跨文档消息通信可以确保iframe、标签页、窗口间安全地进行跨源通信。它把postMessag API定义为发送消息的标准方式。利用postMessage发送消息非常简单,代码如下所示:

chatFrame.contentWindow.postMessage;

接收消息时仅需在页面中增加一个事件处理函数。当某个消息到达时,通过检查消息的来源来决定是否对这条消息进行处理。

图书网:HTML5程序设计(第2版)pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

程序设计

重构 改善既有代码的设计(中文版)pdf

《重构:改善既有代码的设计》(中文版)所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口...
程序设计

数据结构 C语言版 第2版pdf

适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。 采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: