盡管 HTML5 的正式標準還沒有公布,但是已經在各最新版的瀏覽器以及最新的智能終端設備中得到應用。為什么需要 HTML5 標準, HTML5 中到底有哪些新功能,這些新功能在各種瀏覽器/智能終端中的支持又是如何呢?掌握這些關注點是使用 HTML5 進行應用程序開發的前提。
現在大多數瀏覽器普通支持的 HTML 是編寫WEB網頁用的標示性語言,現在廣泛使用的最新正式版是1999年12月發布的 HTML4.01 ,至今已經13年了。
對于日新月異,分秒間都可能發生變化的IT世界來說,10多年前可以說是很久以前了。盡管全世界的程序員開發了各種各樣的技術來擴展 HTML4 的功能,但這個“古老的” HTML4 標準越來越顯示出其技術局限性,WEB 世界呼喚一個嶄新的標準來取代 HTML4 標準。這正是 HTML5 標準出現的前提。
下面我們就羅列下 W3C 關于 HTML5 與 HTML4 標準的區別:
(1)HTML5 強調瀏覽器的兼容性
在HTML5標準中,除了針對WEB開發者的規定外,還有許多針對性瀏覽器的規定。這些都是為了防止瀏覽器間出現顯示/運行結果不一致的現象而設置的。這其中,最大的規定是關于文件解析算法的。在 HTML5 標準中,關于怎樣解釋標記,怎樣生成 DOM 樹都做了嚴密的規定,如果將來所有的瀏覽器都遵循 HTML5 標準,那么無論是何種瀏覽器都將生成完全一致的 DOM 樹。
(2)HTML5 新的解析順序:不再基于SGML
盡管 HTML5 和 SGML 在標記語法上有相似性,但 HTML5 的語法并不再基于它,而是被設計成向后兼容對老版本的 HTML 的解析。
(3)HTML5 追加新的元素
header,section,footer,aside,article,figure,video,progress,nav,meter,time,canvas,command,datalist,embed,figcaption,hgroup,keygen,mark,output,rp,rt,ruby,source,summary,wbr。
在上述標簽中,section標簽、article標簽等都是為了精確描述文檔結構而特別導入的,其他的還有command/detail/summary/datalist等標簽都可以在WEB應用程序中使用。過去用div標簽等沒有任何具體意義的標簽實現的功能可以用這些新標簽實現。
(4)HTML5 中增加了 input 元素的新屬性:
date,email,url。
(5)HTML5 新的通用屬性
ping(用于a與area),charset(用于meta),async(用于script)
(6)HTML5 增加全局屬性
id,tabindex,repeat
(7)HTML5 刪除元素
acronym,applet,basefont,big,center,dir,font,frame,frameset,isindex,noframes,s,strike,tt,u
(8)HTML5 導入在線的 SV G與 MathML
SVG 是處理失量圖形的標記規范。 MathML 是處理數學算式的標記規范。都是以前在 HTML 中不能處理的技術,但這些技術將來很有前途。 SVG 及 MathML 都是以XML 為基礎的標記語言。使用 XHTML 進行編寫,而且以 Content-Type 為 XML 的形式從服務器中送出數據。另外,幾乎所有的瀏覽器都沒有標準搭載這兩種功能,一般 WEB 網站中幾乎沒有得到應用。
但是從2010年7月開始,瀏覽器占有率最高的 IE,在其最新的版本 IE9 中已經宣布導入 SVG,今后一般網站中應該可以慢慢使用 SVG 了。
最后,雖然在各種最新版的WEB瀏覽器(如:FireFox3.6及以上、Opera10.5及以上、Google Chrome3及以上、Internet Explorer9及以上、Safari 4及以上)中已經支持大部分HTML5新標簽,但是在 WEB 瀏覽器低版本不兼容,所以一般在特殊的網站中才使用這些新技術。但是 HTML5 能完美的支持各種智能終端設備,如:iPhone、iPad、Android 手機等,從而體現出 HTML5 在開發各種智能手機應用以及智能移動網站時的巨大優勢。