盡管 HTML5 的正式標(biāo)準(zhǔn)還沒有公布,但是已經(jīng)在各最新版的瀏覽器以及最新的智能終端設(shè)備中得到應(yīng)用。為什么需要 HTML5 標(biāo)準(zhǔn), HTML5 中到底有哪些新功能,這些新功能在各種瀏覽器/智能終端中的支持又是如何呢?掌握這些關(guān)注點是使用 HTML5 進(jìn)行應(yīng)用程序開發(fā)的前提。
現(xiàn)在大多數(shù)瀏覽器普通支持的 HTML 是編寫WEB網(wǎng)頁用的標(biāo)示性語言,現(xiàn)在廣泛使用的最新正式版是1999年12月發(fā)布的 HTML4.01 ,至今已經(jīng)13年了。
對于日新月異,分秒間都可能發(fā)生變化的IT世界來說,10多年前可以說是很久以前了。盡管全世界的程序員開發(fā)了各種各樣的技術(shù)來擴(kuò)展 HTML4 的功能,但這個“古老的” HTML4 標(biāo)準(zhǔn)越來越顯示出其技術(shù)局限性,WEB 世界呼喚一個嶄新的標(biāo)準(zhǔn)來取代 HTML4 標(biāo)準(zhǔn)。這正是 HTML5 標(biāo)準(zhǔn)出現(xiàn)的前提。
下面我們就羅列下 W3C 關(guān)于 HTML5 與 HTML4 標(biāo)準(zhǔn)的區(qū)別:
?。?)HTML5 強(qiáng)調(diào)瀏覽器的兼容性
在HTML5標(biāo)準(zhǔn)中,除了針對WEB開發(fā)者的規(guī)定外,還有許多針對性瀏覽器的規(guī)定。這些都是為了防止瀏覽器間出現(xiàn)顯示/運行結(jié)果不一致的現(xiàn)象而設(shè)置的。這其中,最大的規(guī)定是關(guān)于文件解析算法的。在 HTML5 標(biāo)準(zhǔn)中,關(guān)于怎樣解釋標(biāo)記,怎樣生成 DOM 樹都做了嚴(yán)密的規(guī)定,如果將來所有的瀏覽器都遵循 HTML5 標(biāo)準(zhǔn),那么無論是何種瀏覽器都將生成完全一致的 DOM 樹。
?。?)HTML5 新的解析順序:不再基于SGML
盡管 HTML5 和 SGML 在標(biāo)記語法上有相似性,但 HTML5 的語法并不再基于它,而是被設(shè)計成向后兼容對老版本的 HTML 的解析。
?。?)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。
在上述標(biāo)簽中,section標(biāo)簽、article標(biāo)簽等都是為了精確描述文檔結(jié)構(gòu)而特別導(dǎo)入的,其他的還有command/detail/summary/datalist等標(biāo)簽都可以在WEB應(yīng)用程序中使用。過去用div標(biāo)簽等沒有任何具體意義的標(biāo)簽實現(xiàn)的功能可以用這些新標(biāo)簽實現(xiàn)。
?。?)HTML5 中增加了 input 元素的新屬性:
date,email,url。
?。?)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
?。?)HTML5 導(dǎo)入在線的 SV G與 MathML
SVG 是處理失量圖形的標(biāo)記規(guī)范。 MathML 是處理數(shù)學(xué)算式的標(biāo)記規(guī)范。都是以前在 HTML 中不能處理的技術(shù),但這些技術(shù)將來很有前途。 SVG 及 MathML 都是以XML 為基礎(chǔ)的標(biāo)記語言。使用 XHTML 進(jìn)行編寫,而且以 Content-Type 為 XML 的形式從服務(wù)器中送出數(shù)據(jù)。另外,幾乎所有的瀏覽器都沒有標(biāo)準(zhǔn)搭載這兩種功能,一般 WEB 網(wǎng)站中幾乎沒有得到應(yīng)用。
但是從2010年7月開始,瀏覽器占有率最高的 IE,在其最新的版本 IE9 中已經(jīng)宣布導(dǎo)入 SVG,今后一般網(wǎng)站中應(yīng)該可以慢慢使用 SVG 了。
最后,雖然在各種最新版的WEB瀏覽器(如:FireFox3.6及以上、Opera10.5及以上、Google Chrome3及以上、Internet Explorer9及以上、Safari 4及以上)中已經(jīng)支持大部分HTML5新標(biāo)簽,但是在 WEB 瀏覽器低版本不兼容,所以一般在特殊的網(wǎng)站中才使用這些新技術(shù)。但是 HTML5 能完美的支持各種智能終端設(shè)備,如:iPhone、iPad、Android 手機(jī)等,從而體現(xiàn)出 HTML5 在開發(fā)各種智能手機(jī)應(yīng)用以及智能移動網(wǎng)站時的巨大優(yōu)勢。