html5.js 讓所有IE支持HTML5

轉  http://www.zenjs.com/relate/2011/0419/4189.html


html5.js 讓所有IE支持HTML5 html5.js必須在頁面head元素內調用(因爲IE必須在元素解析前知道這個元素,所以這個js文件不能在頁面底部調用。)
自從HTML5能爲我們的新網頁帶來更高效潔淨的代碼而得到更多的關注,然而唯一能讓IE識別那些新元素(如 article)的途徑是使用HTML5 shiv,感謝remy sharp爲我們提供了這個迷你腳本來解決IE支持HTML5的問題。 使用和下載 html5.js必須在頁面head元素內調用(因爲IE
 

 

自從HTML5能爲我們的新網頁帶來更高效潔淨的代碼而得到更多的關注,然而唯一能讓IE識別那些新元素(如<article>)的途徑是使用HTML5 shiv,感謝remy sharp爲我們提供了這個迷你腳本來解決IE支持HTML5的問題。

使用和下載
html5.js必須在頁面head元素內調用(因爲IE必須在元素解析前知道這個元素,所以這個js文件不能在頁面底部調用。)
作者已經把js文件放在Google code project上並允許大家直接調用,當然,前提是你不在意調用額外的文件。

http://html5shiv.googlecode.com/svn/trunk/html5.js
你可以使用IE條件註釋來調用這個js文件,這樣像FireFox等非IE瀏覽器就會忽視這段代碼,也就不會有無謂的http請求了。下面這段代碼僅會在IE瀏覽器下運行:


<!--[if IE]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--> 
當然如果你不喜歡調用外網文件,你也可以下載下來上傳到自己的服務器單獨調用(作者允許)。

以下是js文件中的代碼:


(function(){if(!/*@cc_on!@*/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(e[i])}})()

PS:所有新增標記,在不支持它們的瀏覽器上,需要爲其重新定義相關表現形式,例如他們都是塊狀態(display:block;)。

(責任編輯:admin)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章