最常用的向HTML中插入視頻的方法有兩種,一種是古老的<object></object>標(biāo)簽,一種是html5中的<video></video>標(biāo)簽。 前者的兼容性沒得說,但是使用起來不太方便,后者使用起來很方便,但是兼容性讓人頭疼。 雖然后者兼容性存在很多問題,但是因?yàn)槭褂煤芊奖?,符合未來網(wǎng)頁設(shè)計(jì)發(fā)展的趨勢,因此我們以后者為主要的插入視頻的方法,因?yàn)樗嫒菪缘膯栴},前者作為輔助。 示例如下: 復(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不支持它,并且人家的用戶至今在中國還是十分龐大的群體,我們就必須想到另外一個(gè)解決方案支持它們: 復(fù)制代碼 代碼如下:<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格式的視頻,還有幾個(gè)swf或js文件,都是用DW軟件生成的,不想研究<object></object>標(biāo)簽的朋友去DW軟件生成就行,如果可以巧妙的融合 這兩段代碼就可以得到兼容所有主流瀏覽器的終極代碼了。 于是我們可以這樣: 用jquery判斷瀏覽器是否為IE(不用判斷具體IE版本,因?yàn)榉?wù)器的原因IE很可能高版本也不通過,暫且IE全部用<object></object>標(biāo)簽),根據(jù)版本加載不同的標(biāo)簽,代碼如下: 復(fù)制代碼 代碼如下:<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視頻代碼了。 |
|