From c2101c5a8a73226c7c45b70298887a19de86fcbb Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 10 Oct 2017 08:37:01 +0800 Subject: [PATCH] translated --- ...7 What all you need to know about HTML5.md | 272 ++++++++++++++++++ 1 file changed, 272 insertions(+) create mode 100644 translated/tech/20170617 What all you need to know about HTML5.md diff --git a/translated/tech/20170617 What all you need to know about HTML5.md b/translated/tech/20170617 What all you need to know about HTML5.md new file mode 100644 index 0000000000..ccb3d8af14 --- /dev/null +++ b/translated/tech/20170617 What all you need to know about HTML5.md @@ -0,0 +1,272 @@ +你需要了解的关于 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 元素的使用: + ```````