A.2 常见的HTML5规范
在这一节中,我们将概述一些符合WHATWG的HTML Living Standard以及W3C的HTML5 family of specifications的技术。虽然,WHATWG的规范并没有一直被人叫做HTML Living Standard,但我们还是用这个词儿来区分W3C的HTML5规范。在谈到每一项技术时,都会连带介绍W3C的相应规范以及本书所涉章节。
A.2.1 语义标记和表单元素
HTML5介绍的HTML元素改变了人们构建Web应用与使用表单元素的方式。程序员们能通过data这样的属性来控制标记。这些属性能在HTML元素中保存重要的元数据。这是HTML最核心的东西,所以也包括在W3C的HTML5规范中。
第1章与第2章介绍了语义标记和表单元素的使用。
A.2.2 视频及音频(多媒体)
过去,Web开发者主要依靠Flash或其他插件来提供音视频的支持,HTML5的和
第8章介绍了视频及音频。在附录I中,还有一些更为前沿的视频技术。
A.2.3 Canvas和SVG(交互性媒体)
Canvas API和SVG技术能让开发者通过JavaScript来创建交互式的媒体。现今最流行的Canvas API最初是苹果在Mac OS X中的一个产品。开发者可以利用元素创建位图图像。虽然元素自身属于HTML5的核心规范,但2D绘图环境(实现绘制的JavaScript API)则在另一个单独的叫作“HTML Canvas 2D Context”的规范中。另外还需注意的是,虽然WebGL能使Canvas显示3D图像,但3D绘图环境却并不属于HTML5官方规范(详情参看A.3节内容)。
SVG技术诞生自大约2001年,是一个基于XML的语言。HTML5所做的不过是将SVG元素注入到HTML页面中(也经常能把SVG注入到XHTML页面中)而已。一定要记住的是,SVG是HTML5的一个标准组成部分,而不是由HTML5所衍生出的一个规范。
第6章与第7章介绍了Canvas、2D绘图环境以及SVG。第8章使用Canvas来控制实时视频,第9章则将其与3D绘图环境结合起来使用。
A.2.4 存储
HTML5还包含一些基于存储的API。其中,属于HTML5规范的是Web Storage与离线应用。
在W3C体系中,离线应用属于HTML5的核心规范。线程和本地存储则属于Web Storage规范。这些都在第5章有所介绍。
A.2.5 通信
Web通信(跨文档通信与通道通信),服务器发送事件,以及WebSockets都属于HTML5的核心技术。在W3C体系中,它们分属于3个规范:“HTML5 Web Messaging”、“Server-Sent Events”和“WebSockets API”。这里要注意的是描述传输数据的格式的WebSockets协议,它是由IETF(Internet Engineering Task Force,互联网工程任务组)定义的。第4章与附录F介绍了通信方面的内容。
A.2.6 XML HTTP请求对象
在20世纪90年代末,这种API就已经存在于IE中了。在2000至2002年间,它通过Firefox的实现被大量用于Web应用中,从而促成了AJAX(异步JavaScript和XML)的诞生。但是XHR(XML HTTP Request)从来没有记录在任何规范中,直到2004年,WHATWG才为它制定了专门的规范。目前,W3C制定了关于XHR对象的专门规范,但由于XHR和AJAX用途广泛,知名度高,所以虽然严格来说XHR属于HTML5技术,但本书也不会专门介绍它。