我有这段代码:
echo '<embed src="'.$data['band_video_1'].'" height="300" width="453">';
显示Youtube视频..它可以在Google Chrome中正常使用,但在Mozilla Firefox中无效。这里有什么问题?我应该在这里使用另一个html元素吗?如何检查用户正在使用的浏览器?
答案 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,而不是完整的网址。