本文較為詳細(xì)的分析了IE9對HTML5中部分屬性不支持的原因,分享給大家供大家參考。具體方法如下:
眾所周知,在IE9中對于HTML5標(biāo)準(zhǔn)中的離線應(yīng)用程序以及CSS3中的一部分不提供支持。本文對此做一簡要分析。
微軟日前已經(jīng)發(fā)布了Internet Explorer 9(以下簡稱IE9)正式版。在該版本中,微軟遵循他們的發(fā)展戰(zhàn)略,對于作為最新Web標(biāo)準(zhǔn)的HTML5與CSS3中大多數(shù)功能提供了支持。
同時(shí),微軟也準(zhǔn)備將IE9應(yīng)用在Windows Phone 7中使用。IE9無疑成為了微軟的Internet戰(zhàn)略中非常重要的一個(gè)環(huán)節(jié)。
但是,現(xiàn)在公布的IE9中,應(yīng)該被用來與Firefox,Safari,Chrome等瀏覽器相競爭的HTML5中的幾個(gè)重大功能卻沒有得到支持。
現(xiàn)將W3C公布的HTML5以及與其相關(guān)的主要功能列舉如下:
通信相關(guān)(Web Sockets, Server-Sent Events等等)
CSS3樣式
設(shè)備定位功能(取得地理位置信息等等)
3D以及畫面顯示效果(WebGL,CSS3的3D功能等等)
多媒體(Audio/Video等等)
性能及功能性的提高(Web Workers,XHR2等等)
語義性(Microdata微數(shù)據(jù)等等)
離線及本地存儲(chǔ)(App Cache,本地存儲(chǔ),IndexedDB等等)
在這之中,即使離線也可以使用Web網(wǎng)頁,Web應(yīng)用程序的功能,使用JavaScript也可以使用多線程的Web Workers,以及CSS3中的幾個(gè)功能都沒有在IE9中得到支持。
應(yīng)該對于HTML5提供積極支持的微軟,為什么沒有在IE9中對這幾個(gè)重要功能提供支持呢?如何這樣的話在Windows Phone7中使用IE9又有什么必要呢?這個(gè)理由在微軟的官方人士那里得到了回答。
提問:首先確認(rèn)一個(gè)事實(shí),IE9中對于HTML5的離線功能等等的確不提供支持嗎?
官方回答:的確如此,大致上來說,關(guān)于離線功能,以及CSS3中的幾個(gè)功能,在IE9中并不支持。
首先針對CSS3做一個(gè)說明,CSS的屬性中的供應(yīng)商前綴(為了在其他供應(yīng)商所提供的瀏覽器中使用而在CSS的屬性前增加的“-moz-”,“-webkit-”等等前綴。)在IE9中不提供支持。
在IE9中提倡“統(tǒng)一標(biāo)記”,就是說同樣的屬性,標(biāo)記應(yīng)該在任何瀏覽器中的渲染效果應(yīng)該都是同樣的。也就是說為了在各供應(yīng)商所提供的瀏覽器中使用而人為增加的各種前綴是不符合這個(gè)概念的,所以不提供支持。
還有一個(gè)問題就是關(guān)于離線應(yīng)用。這是因?yàn)樗囊粋€(gè)相關(guān)功能IndexedDB的實(shí)現(xiàn)方法也還沒有被確定下來,所以與之密切相關(guān)的離線應(yīng)用程序功能也暫時(shí)不被支持。
現(xiàn)在使用IE的有個(gè)人,開發(fā)者,企業(yè)等等各種客戶。因此無論如何對于新的功能提供的支持必須要采取一種保守的做法。
現(xiàn)在我們所提供的支持都是非常安全穩(wěn)定的,今后也將優(yōu)先對那些在用戶那里獲得非常高的渴望度的功能進(jìn)行支持。
不管什么功能一下子全部提供支持,或者說為了迎合企業(yè)用戶而特意對某些功能提供支持的話,這種支持是十分不安全、不穩(wěn)定的,所以我們不希望采取這種做法。
但是,對于IE功能的加強(qiáng)肯定不會(huì)停止在IE9這個(gè)版本上面,所以我們今后肯定還會(huì)對HTML5/CSS3繼續(xù)提供新的支持。
提問:事實(shí)上在IE9中,作為HTML5主要功能之一的離線功能與WebWorker功能沒有提供支持這件事是最近被民眾所關(guān)注的一件事。在宣稱對于HTML5提供支持的同時(shí),不說清楚支持什么功能,不支持什么功能,這種宣傳不是等于沒有嗎?
官方回答:并不是要特意隱瞞,應(yīng)該是在忙于對于IE9這種新的瀏覽器做一個(gè)比較全面地介紹,而沒有考慮到這個(gè)問題。當(dāng)然,在對于各API各屬性進(jìn)行單獨(dú)介紹的時(shí)候,肯定是有一個(gè)比較明確的說明的。
希望本文所述對大家的HTML5程序設(shè)計(jì)有所幫助。