HTML5

模板参数错误!(代码36)
|
HTML |
---|
HTML5-logo.svg |
比较 |
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>, 和<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、Chrome、Opera、Safari(版本4以上)及Internet Explorer 9(Platform Preview)已支援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)。
新標記
HTML 5提供了一些新的元素和屬性,反映典型的現代用法網站。其中有些是技術上類似<div>
和<span>
標籤,但有一定含義,例如<nav>
(網站導航塊)和<footer>
。這種標籤將有利於搜索引擎的索引整理、小螢幕裝置和視障人士使用。同時為其他瀏覽要素提供了新的功能,通過一個標準接口,如<audio>
和<video>
標記。[10]
一些過時的HTML 4標記將取消,其中包括純粹用作顯示效果的標記,如<font>
和<center>
,因為它們已經被CSS取代。還有一些透過DOM的網絡行為。
新應用程序接口(API)
除了原先的DOM接口,HTML5增加了更多樣化的API[11]:
- 即時二維繪圖
- Canvas API:有關動態產出與渲染圖形、圖表、圖像和動畫的API。
- 定時媒體播放
- HTML5 音頻與視頻:HTML5裡新增的元素,它們為開發者提供了一套通用的、整合的、腳本式的處理音頻與視頻的API,而無需安裝任何外掛程式。
- 儲存
- Web Storage API:HTML5 Web存儲(也就是 DOMStorage),該API令在多個Web請求間持久化資料變得簡單。
- 離線
- 編輯
- 拖放
- 通訊/網絡
- Communication APIs:構建實時和跨源(cross-origin)通訊的兩大基礎: 跨文檔通訊(Cross Document Messaging)與 XMLHttpRequest Level 2。
- 後退按鈕管理
- MIME和協議處理程序時表頭登記
- Geolocation API:使用者可共享地理位置,並在Web應用的協助下享用位置感知服務(location-aware services)。
- Web Sockets API:定義全雙工傳輸的通訊通道,它在Web之上通過單個Sockets進行工作。
- WebSocket是HTML5中非常重要的新特性,允許使用者在瀏覽器中實作雙向通信,以達伺服器得以實作對映的資料即時推送技術,這個技術的意義在於我們可以通過網頁實作以往難以達成的應用。使用者不再需要頻繁的更新頁面以獲取新資料,新資料會自動由伺服器端推送至使用者的電腦畫面上。
- Web Workers API:為Web應用提供後台處理的能力。
與HTML 4的不同之處
以下為大略的不同之處,與例子:
- 新的解析順序:不再基於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元素的新屬性:日期和時間,
email, url
- 新的通用屬性:
ping(用於a與area), charset(用於meta), async(用於script)
- 全域屬性:
id, tabindex, repeat
- 移除元素:
acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, s, strike, tt, u
异常处理
HTML5(text/html)浏览器将在错误语法的处理上更加灵活。HTML5在设计时保证旧的浏览器能够安全地忽略掉新的HTML5代码。与HTML4.01相比,HTML5给出了解析的详细规则,力图让不同的浏览器即使在发生语法错误时也能返回相同的结果。
参考文献
- ^ HTML5 differences from HTML4. W3C. 19 October 2010 [4 December 2010].
- ^ 1.9.2 Syntax errors. HTML5. 16 November 2010 [4 December 2010].
- ^ 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:結構和語義
- ^ HTML 5 differences from HTML 4 - APIs W3C