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