本文較為詳細的分析了ie9對html5中部分屬性不支持的原因,分享給大家供大家參考。具體方法如下:
眾所周知,在ie9中對于html5標準中的離線應用程序以及css3中的一部分不提供支持。本文對此做一簡要分析。
微軟日前已經發(fā)布了internet explorer 9(以下簡稱ie9)正式版。在該版本中,微軟遵循他們的發(fā)展戰(zhàn)略,對于作為最新web標準的html5與css3中大多數功能提供了支持。
同時,微軟也準備將ie9應用在windows phone 7中使用。ie9無疑成為了微軟的internet戰(zhàn)略中非常重要的一個環(huán)節(jié)。
但是,現在公布的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中提倡“統(tǒng)一標記”,就是說同樣的屬性,標記應該在任何瀏覽器中的渲染效果應該都是同樣的。也就是說為了在各供應商所提供的瀏覽器中使用而人為增加的各種前綴是不符合這個概念的,所以不提供支持。
還有一個問題就是關于離線應用。這是因為它的一個相關功能indexeddb的實現方法也還沒有被確定下來,所以與之密切相關的離線應用程序功能也暫時不被支持。
現在使用ie的有個人,開發(fā)者,企業(yè)等等各種客戶。因此無論如何對于新的功能提供的支持必須要采取一種保守的做法。
現在我們所提供的支持都是非常安全穩(wěn)定的,今后也將優(yōu)先對那些在用戶那里獲得非常高的渴望度的功能進行支持。
不管什么功能一下子全部提供支持,或者說為了迎合企業(yè)用戶而特意對某些功能提供支持的話,這種支持是十分不安全、不穩(wěn)定的,所以我們不希望采取這種做法。
但是,對于ie功能的加強肯定不會停止在ie9這個版本上面,所以我們今后肯定還會對html5/css3繼續(xù)提供新的支持。
提問:事實上在ie9中,作為html5主要功能之一的離線功能與webworker功能沒有提供支持這件事是最近被民眾所關注的一件事。在宣稱對于html5提供支持的同時,不說清楚支持什么功能,不支持什么功能,這種宣傳不是等于沒有嗎?
官方回答:并不是要特意隱瞞,應該是在忙于對于ie9這種新的瀏覽器做一個比較全面地介紹,而沒有考慮到這個問題。當然,在對于各api各屬性進行單獨介紹的時候,肯定是有一個比較明確的說明的。
更多信息請查看IT技術專欄