youtube视频无法在mozilla firefox上播放:html嵌入

时间:2012-11-29 03:14:50

标签: html firefox youtube embed mozilla

我有这段代码:

echo '<embed src="'.$data['band_video_1'].'" height="300" width="453">';

显示Youtube视频..它可以在Google Chrome中正常使用,但在Mozilla Firefox中无效。这里有什么问题?我应该在这里使用另一个html元素吗?如何检查用户正在使用的浏览器?

2 个答案:

答案 0 :(得分:0)

如果您想查看浏览器,可以尝试一些像这样的java脚本

<script type="text/javascript">'.
   var canPlay = false;
   var v = document.createElement('video');
   if(v.canPlayType && v.canPlayType('video/mp4').replace(/no/, '')) {
       canPlay = true;
   }

   alert(canPlay);

</script>

答案 1 :(得分:0)

看起来您正在尝试直接嵌入Flash对象。 embed标签是一个过时的标签,大部分已被弃用。 (Explained here。)如果您想要一种更可靠的方法来嵌入Flash对象,请查看SWFObject

但是,更好的解决方案是将视频嵌入为iframe。这样,YouTube就会找出嵌入播放器的最佳方式,而且您不必担心浏览器检测。它甚至可以在必要时使用HTML5视频,因此它可以在iPad和其他没有Flash的系统上使用。

最终结果如下:

<iframe width="420" height="315" src="http://www.youtube.com/embed/U0x9HtYgVqA" frameborder="0" allowfullscreen></iframe>

所以你的服务器端代码看起来更像是这样:

echo '<iframe width="420" height="315" src="http://www.youtube.com/embed/' . $data['band_video_1'] . '" frameborder="0" allowfullscreen></iframe>';

只需确保band_video_1是YouTube视频ID,而不是完整的网址。