微軟的最新瀏覽器IE8及以下IE版本對HTML5標簽的支持是有限的,我們可以通過在網頁中添加腳本的方式來解決目前IE瀏覽器對HTML5支持的問題。 讓IE(包括IE6)支持HTML5元素,我們需要在HTML頭部添加以下JavaScript,這是一個簡單的 document.createElement_x聲明,利用條件注釋針對IE來調用這個js文件。Opera,FireFox等其他非IE瀏覽器就會忽 視這段代碼,也不會存在http請求。
<!–[if IE]> <script src=”http://html5shiv.googlecode.com/svn/trunk/html5.js”></script> <![endif]–>上面這段代碼僅會在IE瀏覽器下運行,還有一點需要注意,在頁面中調用html5.js文件必須添加在頁面的head元素內,因為IE瀏覽器必須在元素解析前知道這個元素,所以這個js文件不能在頁面底部調用。 這個html5的js文件是作者把他放在Google code project上提供給大家可以直接調用的,當然,如果覺得這樣會影響你的網頁打開速度,你可以把html5的js文件直接下載下來讓后上傳到自己的服務器單獨調用。 以下是html5的js文件中的代碼:
(function(){if(!0)return;var e = “abbr,article,aside,audio,canvas,datalist,details,dialog, eventsource,figure,footer,header,hgroup,mark,menu,meter,nav, output,progress,section, time,video”.split(’,'),i=e.length;while(i–){document.createElement_x(e[i])}})()除了在網頁中調用包含以上代碼的js文件來讓IE瀏覽器支持HTML5元素以外,你也可以以下面這種方式把代碼直接添加到網頁中。
<!–[if IE]> <script> (function(){if(e = “abbr,article,aside,audio,canvas,datalist,details,dialog, eventsource,figure,footer,header,hgroup,mark,menu,meter,nav, output,progress,section, time,video”.split(’,'),i=e.length;while(i–){document.createElement_x(e[i])}})() </script> <![endif]–>IE開發經理艾德里安巴特曼(Adrian Bateman )就曾表示,IE團隊希望分享自己對HTML5的看法,并參與制定該標準的討論。巴特曼表示,盡管目前IE團隊更多是提出問題,而非給出解決辦法,但是公開討論正是推動HTML5發展的最佳方式.