你需要了解的关于 HTML5 的所有信息 ============================================================ _![](https://i0.wp.com/opensourceforu.com/wp-content/uploads/2017/05/handwritten-html5-peter-booth-e-plus-getty-images-56a6faec5f9b58b7d0e5d1cf.jpg?resize=700%2C467)_  _HTML5 是 HTML 的第五版且是当前的版本,它是用于在万维网上构建和呈现内容的标记语言。本文将帮助读者了解它。_ HTML5 通过 W3C 和 Web 超文本应用技术工作组之间的合作发展起来。它是一个更高版本的 HTML,它的许多新元素使你的页面更加语义化和动态。它是为所有人提供更好的 Web 体验而开发的。HTML5 提供了很多的功能,使 Web 更加动态和交互。 HTML5 的新功能是: * 新标签,如
* 用于 2D 绘图的 元素 * 本地存储 * 新的表单控件, 如日历、日期和时间 * 新媒体功能 * 地理位置 HTML5 还不是官方标准。因此,并不是所有的浏览器都支持它或其中一些功能。开发 HTML5 背后最重要的原因之一是防止用户下载并安装多个插件,如 Silverlight 和 Flash。 **新标签和元素** **语义化元素:** 图 1 展示了一些有用的语义化元素。 **表单元素:** HTML5 中的表单元素如图 2 所示。 **图形元素:** HTML5 中的图形元素如图 3 所示。 **媒体元素:** HTML5 中的新媒体元素如图 4 所示。 [![](https://i0.wp.com/opensourceforu.com/wp-content/uploads/2017/05/Figure-1-7.jpg?resize=350%2C277)][3] 图1:语义化元素 [![](https://i1.wp.com/opensourceforu.com/wp-content/uploads/2017/05/Figure-2-5.jpg?resize=350%2C108)][4] 图2:表单元素 **HTML5 的高级功能** **地理位置** 这是一个 HTML5 API,用于获取网站用户的地理位置,用户必须首先允许网站获取他或她的位置。这通常通过按钮和/或浏览器弹出窗口来实现。所有最新版本的 Chrome、Firefox、IE、Safari 和 Opera 都可以使用 HTML5 的地理位置功能。 地理位置的一些用途是: * 公共交通网站 * 出租车及其他运输网站 * 电子商务网站计算运费 * 旅行社网站 * 房地产网站 * 在附近播放的电影的电影院网站 * 在线游戏 * 网站首页提供本地标题和天气 * 工作职位可以自动计算通勤时间 **工作原理:** 地理位置通过扫描位置信息的常见源进行工作,其中包括以下内容: * 全球定位系统(GPS)是最准确的 * 网络信号 - IP地址、RFID、Wi-Fi 和蓝牙 MAC地址 * GSM/CDMA 蜂窝 ID * 用户输入 该 API 提供了非常方便的函数来检测浏览器中的地理位置支持: | `if` `(navigator.geolocation) {``//` `do` `stuff``}` | _getCurrentPosition_ API 是使用地理位置的主要方法。它检索用户设备的当前地理位置。该位置被描述为一组地理坐标以及航向和速度。位置信息作为位置对象返回。 语法是: `getCurrentPosition(showLocation, ErrorHandler, options);` * _showLocation:_  定义了检索位置信息的回调方法。 * _ErrorHandler(可选):_  定义了在处理异步调用时发生错误时调用的回调方法。 * _options (可选):_  定义了一组用于检索位置信息的选项。 [![](https://i0.wp.com/opensourceforu.com/wp-content/uploads/2017/05/Figure-3-2.jpg?resize=350%2C72)][5] 图3:图形元素 [![](https://i0.wp.com/opensourceforu.com/wp-content/uploads/2017/05/Figure-4-2.jpg?resize=350%2C144)][6] 图4:媒体元素 图 5 包含了一个位置对象返回的属性集。 我们可以通过两种方式向用户提供位置信息:测地和民用: 1\. 描述位置的测地方式直接指向纬度和经度。 2\. 位置信息的民用表示法是可读的且容易被人类理解 如表 1 所示,每个属性/参数都具测地和民用表示。 [![](https://i0.wp.com/opensourceforu.com/wp-content/uploads/2017/05/table-1.jpg?resize=350%2C132)][7] **网络存储** 在 HTML 中,为了在本机存储用户数据,我们使用 JavaScript cookie。为了避免这种情况,HTML5 已经引入了 Web 存储,网站利用它在本机上存储用户数据。 与 Cookie 相比,Web 存储的优点是: * 更安全 * 更快 * 存储更多的数据 * 存储的数据不会随每个服务器请求一起发送。只有在被要求时才包括在内。这是 HTML5 Web 存储超过 Cookie 的一大优势。 有两种类型的Web存储对象: 1) 本地 - 存储没有到期日期的数据。 2) 会话 - 仅存储一个会话的数据。 **如何工作:** _localStorage_ 和 _sessionStorage_ 对象创建一个 _key=value_ 对。 比如: _ key=“Name”,_   _value=“Palak”_ 这些存储为字符串,但如果需要,可以使用 JavaScript 函数(如 _parseInt()_ 和 _parseFloat()_)进行转换。 下面给出了使用 Web 存储对象的语法: `存储一个值:``• localStorage.setItem(“key1”, “value1”);``• localStorage[“key1”] = “value1”;``得到一个值:``• alert(localStorage.getItem(“key1”));``• alert(localStorage[“key1”]);``删除一个值:``• removeItem(“key1”);``删除所有值:``• localStorage.``clear``();` [![](https://i0.wp.com/opensourceforu.com/wp-content/uploads/2017/05/Figure5-1.jpg?resize=350%2C202)][8] 图5:位置对象属性 **应用缓存 (AppCache)** 使用 HTML5 AppCache,我们可以使 Web 应用程序在没有 Internet 连接的情况下脱机工作。除 IE 之外,所有浏览器都可以使用 _AppCache_(此时)。 Application Cache 的优点是: * 网页浏览可以脱机 * 页面加载速度更快 * 服务器负载更小 _cache manifest_ 是一个简单的文本文件,其中列出了浏览器应缓存的资源以进行脱机访问。 _manifest_ 属性可以包含在文档的 HTML 标签中,如下所示: ```...``<``/html``>` 它应该在你要缓存的所有页面上。 缓存的应用程序页面将保留,除非: 1\. 用户清除它们 2\. manifest 被修改 3\. 缓存更新 **视频** 在 HTML5 发布之前,没有统一的标准来显示网页上的视频。大多数视频都是通过 Flash 等不同的插件显示的。但 HTML5 规定了使用 video 元素在网页上显示视频的标准方式。 目前,video 元素支持三种视频格式,如表 2 所示。 [![](https://i0.wp.com/opensourceforu.com/wp-content/uploads/2017/05/table-2.jpg?resize=350%2C115)][9] 下面的例子展示了 video 元素的使用: ```````