0

我有这个代码:

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

显示 Youtube 视频。它在 Google Chrome 中运行良好,但在 Mozilla Firefox 中运行良好。这里有什么问题?我应该在这里使用另一个 html 元素吗?如何检查用户也在使用什么浏览器?

4

2 回答 2

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>
于 2012-11-29T05:44:49.633 回答
0

看起来您正试图直接嵌入 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。

于 2012-11-29T06:57:21.433 回答