《HTML5实战》——A.2 常见的HTML5规范

简介:

本节书摘来自异步社区《HTML5实战》一书中的附录A.2,作者: 【美】Rob Crowther , Joe Lennon , Ash Blue , Grey Wanish 更多章节内容可以访问云栖社区“异步社区”公众号查看。

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技术,但本书也不会专门介绍它。

相关文章
|
1月前
|
JavaScript API 开发工具
<大厂实战场景> ~ Flutter&鸿蒙next 解析后端返回的 HTML 数据详解
本文介绍了如何在 Flutter 中解析后端返回的 HTML 数据。首先解释了 HTML 解析的概念,然后详细介绍了使用 `http` 和 `html` 库的步骤,包括添加依赖、获取 HTML 数据、解析 HTML 内容和在 Flutter UI 中显示解析结果。通过具体的代码示例,展示了如何从 URL 获取 HTML 并提取特定信息,如链接列表。希望本文能帮助你在 Flutter 应用中更好地处理 HTML 数据。
123 1
|
3月前
|
移动开发 前端开发 JavaScript
Twaver-HTML5基础学习(9)HTML节点(HTMLNode)
本文介绍了Twaver HTML5中的HTML节点(HTMLNode),这是一种专门用于呈现HTML元素的网元。文章解释了HTMLNode如何继承自Node并具有所有Node的特点,以及如何通过setName()方法将HTML元素作为网元的LabelAttachment或者AlarmAttachment呈现。示例代码展示了如何在React组件中创建HTMLNode并添加HTML元素,以及如何自定义告警显示样式。
33 1
Twaver-HTML5基础学习(9)HTML节点(HTMLNode)
|
3月前
|
前端开发 JavaScript
html中id和class的相同和不同之处及用法的规范与区别
在HTML中,`id`和`class`都用于标识和选择元素,但存在一些关键差异。
|
4月前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
4月前
|
存储 缓存 移动开发
不来看一看HTML请求后端性能优化的实战总结吗?
本文主要总结了在ICBU的核心沟通场景下服务端在此次性能优化过程中做的工作,供大家参考讨论。
|
6月前
|
移动开发 前端开发 JavaScript
HTML5+CSS3+JavaScript网页实战
HTML5+CSS3+JavaScript网页实战
|
6月前
|
前端开发 安全 数据安全/隐私保护
Web实战丨基于django+html+css+js的在线博客网站
Web实战丨基于django+html+css+js的在线博客网站
107 2
|
6月前
|
数据库 数据安全/隐私保护 Python
Web实战丨基于Django与HTML的新闻发布系统(二)
Web实战丨基于Django与HTML的新闻发布系统(二)
58 1
|
6月前
|
存储 数据库 数据安全/隐私保护
Web实战丨基于Django与HTML的新闻发布系统
Web实战丨基于Django与HTML的新闻发布系统
101 1
|
6月前
|
移动开发 HTML5
html5为什么只需要写<!doctype html>? 一共有多少种Doctype文档类型?
html5为什么只需要写<!doctype html>? 一共有多少种Doctype文档类型?
129 0