HTML5
| 当前條目或章節需要更新。 |
| HTML |
|---|
HTML5是HTML下一個主要的修訂版本,現在仍處於發展階段。目標是取代1999年所製定的HTML 4.01和XHTML 1.0 標準,以期能在網際網路應用迅速發展的時候,使網路標準達到符合當代的網路需求。廣義論及HTML5時,實際指的是包括HTML、CSS和JavaScript在內的一套技術組合。它希望能夠減少瀏覽器對於需要外掛程式的豐富性網路應用服務(plug-in-based rich internet application,RIA),如Adobe Flash、Microsoft Silverlight,與Oracle JavaFX的需求,並且提供更多能有效增強網路應用的標準集。
具体来说,HTML5添加了许多新的语法特征,其中包括<video>, <audio>, 和<canvas>元素,同时整合了SVG内容。这些元素是为了更容易的在网页中添加和处理多媒体和图片内容而添加的。其它新的元素包括<section>, <article>, <header>, 和<nav>,是为了丰富文档的数据内容。新的属性的添加也是为了同样的目的。同时也有一些属性和元素被移除掉了。一些元素,像<a>, <cite>和<menu>被修改,重新定义或标准化了。同时APIs和DOM已经成为HTML5中的基础部分了。[1]HTML5还定义了处理非法文档的具体细节,使得所有浏览器和客户端程序能够一致地处理语法错误。[2]
目录 |
发展历史 [编辑]
HTML 5草案的前身名为Web Applications 1.0,是在2004年由WHATWG提出,再于2007年获W3C接納,并成立了新的HTML工作团队。在2008年1月22日,第一份正式草案发布。[3]WHATWG表示该规范是目前仍在进行的工作,仍須多年的努力。[4]目前Firefox、Google Chrome、Opera、Safari(版本4以上)、Internet Explorer(版本9以上)已支持HTML5技术。
尽管HTML5已经在网络开发人员中非常出名了,但是它成为主流媒体的一个话题还是在2010年的4月,[5][6][7][8]当时苹果公司的CEO乔布斯发表一篇题为“对flash的思考”的文章,指出随着HTML5的发展,观看视频或其它内容时,Adobe Flash将不再是必须的。这引发了开发人员间的争论,包括HTML5虽然提供了增强的功能,但开发人员必须考虑到不同浏览器对标准不同部分的支持程度的不同,以及HTML5和Flash间的功能差异。[9]
HTML 5的标准草案目前已進入W3C制定标准5大程序的第1步。負責編纂标准格式文件的Google員工Ian Hickson預期,可能得等到2012年才會推出建议候选版(W3C Candidate Recommendation),並在2014年才會成為 W3C 推荐标准(W3C Recommendation)。
Google公司负责开发Android的Andy Rubin在AllThingsD亚洲大会上表示html5还远不能为不同的移动操作系统提供不同的程序。
新標記 [编辑]
HTML 5提供了一些新的元素和屬性,反映典型的現代用法網站。其中有些是技術上類似<div>和<span>標籤,但有一定含義,例如<nav>(網站導航塊)和<footer>。這種標籤將有利於搜索引擎的索引整理、小螢幕裝置和視障人士使用。同時為其他瀏覽要素提供了新的功能,通過一個標準接口,如<audio>和<video>標記。[10]
一些過時的HTML 4標記將取消,其中包括純粹用作顯示效果的標記,如<font>和<center>,因為它們已經被CSS取代。還有一些透過DOM的網絡行為。
尽管和SGML在标记上的相似性,HTML5的句法并不再基于它了,而是被设计成向后兼容对老版本的HTML的解析。它有一个新的开始行看起来就像SGML的文档类型声明,<!DOCTYPE HTML>,这会触发和标准兼容的渲染模式。[11]在2009年1月5号,HTML5添加了Web Form 2.0的内容,html5开始发展起来。
无障碍(Accessibility) [编辑]
为了使 HTML5 的新元素或新属性获取最大化的兼容性,开发人员需要附加一点额外补助,或者有些特性根本没有被任何浏览器实现,或者浏览器根本不支持补助技术。因此有些特殊的 HTML5 特性根本不能使用。更多细节可参见 HTML5 Accessibility(无障碍)英文版中文版表单。
新應用程序接口(API) [编辑]
除了原先的DOM接口,HTML5增加了更多樣化的API[1]:
- 即時二維繪圖
- Canvas API:有關動態產出與渲染圖形、圖表、圖像和動畫的API。
- 定時媒體播放
- HTML5 音頻與視頻:HTML5裡新增的元素,它們為開發者提供了一套通用的、整合的、腳本式的處理音頻與視頻的API,而無需安裝任何外掛程式。
- 离线存储数据库(离线网络应用程序)[12]
- 編輯
- 拖放
- 跨文档通信[13]
- 通訊/網絡
- Communication APIs:構建實時和跨源(cross-origin)通訊的兩大基礎: 跨文檔通訊(Cross Document Messaging)與 XMLHttpRequest Level 2。
- 浏览历史管理
- MIME和協議處理程序時表頭登記
- 微数据
以上技术尽管是WHATWG HTML说明文档的内容,但并没有全部包括在W3C HTML5的说明文档里。[14]一些相关的技术,像下面所列的,并没有包括在这2份文档中的任何一份中。W3C给这些技术单独出版了说明文档。
- Geolocation API:使用者可共享地理位置,並在Web應用的協助下享用位置感知服務(location-aware services)。
- 索引数据库API(Indexed Database API, 以前为WebSimpleDB)[15]
- 文件API:处理文件上传和操纵文件。[16]
- 目录和文件系统:这个API是为了满足客户端在没有好的数据库支持情况下存储要求。[17]
- 文件写入:从网络应用程序向文件里写内容。[18]
一个普遍的误解是HTML5能够在网页中提供动画效果,这是不对的。动画效果是由JavaScript和CSS达成的。
XHTML5 [编辑]
XHTML5是对HTML5的XML序列化。XML文档必须被设置为XML互联网文件类型,像application/xhtml+xml或者application/xml。XHTML5要求像XML一样严格的格式化的语法。 在XHTML5中,HTML5的doctype html是可有可无的
與HTML 4的不同之處 [编辑]
以下為大略的不同之處,與例子:
- 文件類型聲明(
<!DOCTYPE>)僅有一型:<!DOCTYPE HTML>。 - 新的解析順序:不再基於SGML。
- 新的元素:
section,video,progress,nav,meter,time,aside,canvas,command,datalist,details,embed,figcaption,figure,footer,header,hgroup,keygen,mark,output,rp,rt,ruby,source,summary,wbr。 input元素的新類型:date,email,url等等。- 新的屬性:
ping(用于a与area),charset(用于meta),async(用于script)。 - 全域屬性:
id,tabindex,repeat。 - 新的全域屬性:
contenteditable,contextmenu,draggable,dropzone,hidden,spellcheck。 - 移除元素:
acronym,applet,basefont,big,center,dir,font,frame,frameset,isindex,noframes,strike,tt。
异常处理 [编辑]
HTML5(text/html)浏览器将在错误语法的处理上更加灵活。HTML5在设计时保证旧的浏览器能够安全地忽略掉新的HTML5代码。与HTML4.01相比,HTML5给出了解析的完整规则,让不同的浏览器即使在发生语法错误时也能返回完全相同的结果。
各瀏覽器的支援 [编辑]
HTML 5 Test網站,是用以測試對瀏覽器對熱門新功能的支援。測試的滿分是 500 分,而當中的額外分數表示瀏覽器對一些沒有列入W3G的標準亦有支援,例如<video>元素並沒有指明編碼標準,但每支援MPEG-4、H.264、Ogg Theora及WebM一項影音編碼,便可獲得2分額外分數。HTML 5 Test 並未測試所有新加入的功能,分數高只代表瀏覽器現時對所挑選的新網頁編碼整體上有較佳的支援,並不代表日後其表現的趨勢,因此分數只能作為參考。
截止2013年4月1日,五大瀏覽器最新版本所取得的分數分別是[19]:
| 瀏覽器 | 正式版本 | 分數 | 測試版本 | 分數 |
|---|---|---|---|---|
| Internet Explorer (32 及64 位元) | 10.0.9200.16466 (RTM) | 320分 + 6 分額外分數 | 10.0.9200.16438 (Win 7 Pre-release) | 320分 + 6 分額外分數 |
| Mozilla Firefox | 19.0.2 | 393分 + 10 分額外分數 | 22.0 Alpha 1 | 393分 + 9 分額外分數 |
| Opera | 12.14 Build 1738 | 404分 + 9 分額外分數 | -- | -- |
| Apple Safari | 6.0.2 (Mac OS X) | 378分 + 8 分額外分數 | 5.2 (Windows) | 370分 + 8 分額外分數 |
| Google Chrome | 26.0.1410.64 | 463分 + 13 分額外分數 | Canary (28.0.1458.0) | 468分 + 13 分額外分數 |
参考文献 [编辑]
- ^ 1.0 1.1 HTML5 differences from HTML4. W3C. 19 October 2010 [4 December 2010].
- ^ 1.9.2 語法錯誤. HTML5. 25 November 2011 [23 December 2011].
- ^ Ian Hickson; David Hyatt. HTML 5. W3C Working Draft. 2008年1月22日 [2008-01-24].
- ^ When will HTML 5 be finished?. WHATWG. WHATWG Wiki. [2008-06-14].
- ^ FOX News: No Flash on the iPhone? Apple's Steve Jobs Finally Explains Why http://www.foxnews.com/scitech/2010/04/29/flash-iphone-apples-steve-jobs-finally-explains/
- ^ TIME: Steve Jobs: ‘Flash is No Longer Necessary’ and Other Musings http://techland.time.com/2010/04/29/steve-jobs-flash-is-no-longer-necessary-and-other-musings/
- ^ CBS News: Steve Jobs: Why Apple Banned Flash http://www.cbsnews.com/8301-501465_162-20003744-501465.html
- ^ FastCompany: Steve Jobs: Adobe's Flash Is Old PC History, Open Web Is the Future http://www.fastcompany.com/1633336/steve-jobs-flash-adobe-apple-iphone-os-mac-software-open-standards-proprietary-open-letter
- ^ Is HTML5 Replacing Flash? http://www.lyquix.com/blog/122-is-html5-replacing-flash
- ^ IBM的開發者資源:新內容在HTML5:結構和語義
- ^ InstantShift [1] HTML5: Worth the Hype?
- ^ Web Storage Specification W3.org
- ^ HTML5 Web Messaging W3.org
- ^ http://www.whatwg.org/html/#is-this-html5?
- ^ Indexed Database W3.org
- ^ File API W3.org
- ^ Filesystem API W3.org
- ^ File API: Writer W3.org
- ^ HTML5 Test 官方測試數據,2013年4月1日
外部連結 [编辑]
| 维基共享资源中相关的多媒体资源:HTML5 |
各家瀏覽器支援程度 [编辑]
規範 [编辑]
HTML5演示 [编辑]
實驗性服務 [编辑]
HTML5 无障碍 [编辑]
学习资源 [编辑]
|
|||||||||||||||||
|
||||||||||||||||||||||||||