HTML5
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还定义了处理非法文档的具体细节,使得所有浏览器和客户端程序能够一致地处理语法错误。
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已支持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的网络行为。
尽管和SGML在标记上的相似性,HTML5的句法并不再基于它了,而是被设计成向后兼容对老版本的HTML的解析。它有一个新的开始行看起来就像SGML的文档类型声明,<!DOCTYPE html>
,这会触发和标准兼容的渲染模式。[11]在2009年1月5号,HTML5添加了Web Form 2.0的内容。
除了原先的DOM接口,HTML5增加了更多样化的API[12]:
- 实时二维绘图
- Canvas API:有关动态产出与渲染图形、图表、图像和动画的API。
- 定时媒体播放
- HTML5 音频与视频:HTML5里新增的元素,它们为开发者提供了一套通用的、集成的、脚本式的处理音频与视频的API,而无需安装任何插件。
- 离线存储数据库(离线网络应用程序)[13]
- 编辑
- 拖放
- 跨文档通信[14]
- 通信/网络
- Communication APIs:构建实时和跨源(cross-origin)通信的两大基础: 跨文档通信(Cross Document Messaging)与 XMLHttpRequest Level 2。
- 浏览历史管理
- MIME和协议处理程序时表头登记
- 微数据
以上技术尽管是WHATWG HTML说明文档的内容,但并没有全部包括在W3C HTML5的说明文档里。[15]一些相关的技术,像下面所列的,并没有包括在这2份文档中的任何一份中。W3C给这些技术单独出版了说明文档。
- Geolocation API:用户可共享地理位置,并在Web应用的协助下享用位置感知服务(location-aware services)。
- Web SQL Database, 一个本地的SQL数据库。[16]
- 索引数据库API(Indexed Database API, 以前为WebSimpleDB))[17]
- 文件API:处理文件上传和操纵文件。[18]
- 目录和文件系统:这个API是为了满足客户端在没有好的数据库支持情况下存储要求。[19]
- 文件写入:从网络应用程序向文件里写内容。[20]
一个普遍的误解是HTML5能够在网页中提供动画效果,这是不对的。动画效果是由JavaScript和CSS达成的。
XHTML5是对HTML5的XML串行化。XML文档必须被设置为XML互联网文件类型,像application/xhtml+xml或者application/xml。XHTML5要求像XML一样严格的格式化的语法。 在XHTML5中,HTML5的doctype html是可有可无的
与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元素的新属性:
date, 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:结构和语义
- ^ InstantShift [1] HTML5: Worth the Hype?
- ^ HTML 5 differences from HTML 4 - APIs W3C
- ^ Web Storage Specification W3.org
- ^ HTML5 Web Messaging W3.org
- ^ http://www.whatwg.org/html/#is-this-html5?
- ^ Web SQL Database W3.org
- ^ Indexed Database W3.org
- ^ File API W3.org
- ^ Filesystem API W3.org
- ^ File API: Writer W3.org