主頁 > 知識庫 > 讓ie瀏覽器成為支持html5的瀏覽器的解決方法(使用html5shiv)

讓ie瀏覽器成為支持html5的瀏覽器的解決方法(使用html5shiv)

熱門標(biāo)簽:美圖手機(jī) 硅谷的囚徒呼叫中心 智能手機(jī) 使用U盤裝系統(tǒng) 檢查注冊表項(xiàng) 網(wǎng)站建設(shè) 阿里云 百度競價點(diǎn)擊價格的計(jì)算公式

如今HTML5愈來愈引發(fā)大家的關(guān)注了,但目前支持HTML5的瀏覽器還不是主流,特別是國內(nèi)用戶近50%以上仍舊使用IE6,由于支持HTML5的IE9不支持Xp系統(tǒng)安裝,這樣未來很長一段時間,HTML5的開發(fā)者將必須考慮向下兼容的問題。HTML5的標(biāo)簽或CSS選擇器兼容性的做法有很多,其中自己生成標(biāo)簽元素就是一種。

基本原理參見如下代碼在IE8中效果,樣式根本沒有起作用。


復(fù)制代碼
代碼如下:

<html>
<head>
<style>mxria{ color: red; }</style>
</head>
<body>
<mxria>Hello!</mxria>
</body>
</html>


為了是瀏覽器識別<mxria></mxria>標(biāo)簽并顯示對應(yīng)樣式的效果,我們可以如下增加一段js,看到效果就不同了

復(fù)制代碼
代碼如下:

<html>
<head>
<style> mxria{ color: red; }</style>
<script>document.createElement("mxria")</script>
</head>
<body>
<mxria>Hello!mxria.com</mxria>
</body>
</html>


現(xiàn)在大家明白了其中的奧妙吧!對,就是document.createElement  ,HTML5 shiv就是這樣一個js插件,將所有HTML5的標(biāo)簽進(jìn)行了重新生成,你需要加載該插件,那么HTML5程序就能被所有瀏覽器識別了。
下載地址:http://html5shim.googlecode.com/svn/trunk/html5.js

trunk/html5.js簡單使用方法:

下面是引用Google的html5.js文件:

html5shiv的使用非常的簡單,考慮到IE9是支持html5的,所以只需要在頁面head中添加如下代碼即可:

復(fù)制代碼
代碼如下:

<!--[if lt IE 9]>
<script src="dist/html5shiv.js"></script>
<![endif]-->

將上代碼復(fù)制到head部分,記住一定要是head部分(因?yàn)镮E必須在元素解析前知道這個元素,所以這個js文件不能在其他位置調(diào)用,否則失效)

當(dāng)然,你也可以把代碼拿出來自己看著辦:

(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])}})()
最后在css里面加上這段:

/*html5*/ article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}
主要是讓這些html5標(biāo)簽成塊狀,像div那樣。

好了,簡單吧,一句話概括就是:引用html5.js  使html5標(biāo)簽成塊狀

標(biāo)簽:黃山 通遼 賀州 懷化 山南 煙臺 湖北 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《讓ie瀏覽器成為支持html5的瀏覽器的解決方法(使用html5shiv)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266