最常用的向html中插入視頻的方法有兩種,一種是古老的<object></object>標(biāo)簽,一種是html5中的<video></video>標(biāo)簽。
前者的兼容性沒得說,但是使用起來不太方便,后者使用起來很方便,但是兼容性讓人頭疼。
雖然后者兼容性存在很多問題,但是因為使用很方便,符合未來網(wǎng)頁設(shè)計發(fā)展的趨勢,因此我們以后者為主要的插入視頻的方法,因為它兼容性的問題,前者作為輔助。
示例如下:
代碼如下:
<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不支持它,并且人家的用戶至今在中國還是十分龐大的群體,我們就必須想到另外一個解決方案支持它們:
代碼如下:
<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=&mm_componentversion=1&skinname=public/swf/clear_skin_3&streamname=public/video/test&autoplay=false&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格式的視頻,還有幾個swf或js文件,都是用dw軟件生成的,不想研究<object></object>標(biāo)簽的朋友去dw軟件生成就行,如果可以巧妙的融合
這兩段代碼就可以得到兼容所有主流瀏覽器的終極代碼了。
于是我們可以這樣:
用jquery判斷瀏覽器是否為ie(不用判斷具體ie版本,因為服務(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=&mm_componentversion=1&skinname=public/swf/clear_skin_3&streamname=public/video/test&autoplay=false&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視頻代碼了。
更多信息請查看IT技術(shù)專欄