向html中插入視頻并兼容所有瀏覽器的方法

字號(hào):


    最常用的向html中插入視頻的方法有兩種,一種是古老的<object></object>標(biāo)簽,一種是html5中的<video></video>標(biāo)簽。
    前者的兼容性沒得說,但是使用起來不太方便,后者使用起來很方便,但是兼容性讓人頭疼。
    雖然后者兼容性存在很多問題,但是因?yàn)槭褂煤芊奖?,符合未來網(wǎng)頁設(shè)計(jì)發(fā)展的趨勢,因此我們以后者為主要的插入視頻的方法,因?yàn)樗嫒菪缘膯栴},前者作為輔助。
    示例如下:
    代碼如下:
    <video width=602px height=345px controls=controls>
    <source src=public/video/test.mp4 type=video/mp4></source>
    <source src=public/video/test.ogg type=video/ogg></source>
    your browser does not support the video tag
    </video>
    當(dāng)前,video 元素支持三種視頻格式:
    格式 ie firefox opera chrome safari
    ogg no 3.5+ 10.5+ 5.0+ no
    mpeg 4 9.0+ no no 5.0+ 3.0+
    webm no 4.0+ 10.6+ 6.0+ no
    ogg = 帶有 theora 視頻編碼和 vorbis 音頻編碼的 ogg 文件
    mpeg4 = 帶有 h.264 視頻編碼和 aac 音頻編碼的 mpeg 4 文件
    webm = 帶有 vp8 視頻編碼和 vorbis 音頻編碼的 webm 文件
    注:格式必須符合上面三條詳細(xì)要求,比如mpeg 4,必須是h.264視頻和aac音頻。
    在這種情況下,如果視頻格式正確,大部分瀏覽器的兼容性結(jié)果我們還算滿意,但是ie678不支持它,并且人家的用戶至今在中國還是十分龐大的群體,我們就必須想到另外一個(gè)解決方案支持它們:
    代碼如下:
    <object classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 width=624 height=351 style=margin-top: -10px;margin-left: -8px; id=flvplayer1>
    <param name=movie value=flvplayer_progressive.swf />
    <param name=quality value=high />
    <param name=wmode value=opaque />
    <param name=scale value=noscale />
    <param name=salign value=lt />
    <param name=flashvars value=&amp;mm_componentversion=1&amp;skinname=public/swf/clear_skin_3&amp;streamname=public/video/test&amp;autoplay=false&amp;autorewind=false />
    <param name=swfversion value=8,0,0,0 />
    <!-- 此 param 標(biāo)簽提示使用 flash player 6.0 r65 和更高版本的用戶下載最新版本的 flash player。如果您不想讓用戶看到該提示,請將其刪除。 -->
    <param name=expressinstall value=expressinstall.swf />
    </object>
    這里面引入了一些文件,除了flv格式的視頻,還有幾個(gè)swf或js文件,都是用dw軟件生成的,不想研究<object></object>標(biāo)簽的朋友去dw軟件生成就行,如果可以巧妙的融合
    這兩段代碼就可以得到兼容所有主流瀏覽器的終極代碼了。
    于是我們可以這樣:
    用jquery判斷瀏覽器是否為ie(不用判斷具體ie版本,因?yàn)榉?wù)器的原因ie很可能高版本也不通過,暫且ie全部用<object></object>標(biāo)簽),根據(jù)版本加載不同的標(biāo)簽,代碼如下:
    代碼如下:
    <script>
    if($.browser.msie){
    document.write('<object classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 width=624 height=351 style=margin-top: -10px;margin-left: -8px; id=flvplayer1>'+
    '<param name=movie value=flvplayer_progressive.swf />'+
    '<param name=quality value=high />'+
    '<param name=wmode value=opaque />'+
    '<param name=scale value=noscale />'+
    '<param name=salign value=lt />'+
    '<param name=flashvars value=&amp;mm_componentversion=1&amp;skinname=public/swf/clear_skin_3&amp;streamname=public/video/test&amp;autoplay=false&amp;autorewind=false />'+
    '<param name=swfversion value=8,0,0,0 />'+
    '<!-- 此 param 標(biāo)簽提示使用 flash player 6.0 r65 和更高版本的用戶下載最新版本的 flash player。如果您不想讓用戶看到該提示,請將其刪除。 -->'+
    '<param name=expressinstall value=expressinstall.swf />'+
    '</object>');
    }else{
    document.write('<video width=602px height=345px controls=controls>'+
    '<source src=public/video/test.mp4 type=video/mp4></source>'+
    '<source src=public/video/test.ogg type=video/ogg></source>'+
    'your browser does not support the video tag'+
    '</video>');
    }
    </script>
    不要忘記在寫這段代碼之前引入jquery文件
    到此為止,就可以編寫兼容所有瀏覽器的html視頻代碼了。