我有这个代码:
echo '<embed src="'.$data['band_video_1'].'" height="300" width="453">';
显示 Youtube 视频。它在 Google Chrome 中运行良好,但在 Mozilla Firefox 中运行良好。这里有什么问题?我应该在这里使用另一个 html 元素吗?如何检查用户也在使用什么浏览器?
如果你想检查浏览器,你可以尝试一些像这样的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>
看起来您正试图直接嵌入 Flash 对象。嵌入标签是一个过时的标签,大部分已被弃用。(在此处解释。)如果您想要一种更可靠的方式来嵌入 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,而不是完整的 URL。