我有這樣的代碼:YouTube視頻無法在Mozilla Firefox瀏覽器玩:HTML嵌入
echo '<embed src="'.$data['band_video_1'].'" height="300" width="453">';
顯示YouTube視頻。它工作正常,在谷歌Chrome,但不是在Mozilla Firefox瀏覽器。什麼是錯的這裏?我應該在這裏使用另一個html元素嗎?如何檢查用戶使用的瀏覽器也是?
我有這樣的代碼:YouTube視頻無法在Mozilla Firefox瀏覽器玩:HTML嵌入
echo '<embed src="'.$data['band_video_1'].'" height="300" width="453">';
顯示YouTube視頻。它工作正常,在谷歌Chrome,但不是在Mozilla Firefox瀏覽器。什麼是錯的這裏?我應該在這裏使用另一個html元素嗎?如何檢查用戶使用的瀏覽器也是?
它看起來像你想直接嵌入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,而不是完整的網址。
非常感謝你.. :) – Leah
如果你想找檢查瀏覽器,你可以嘗試一些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>
類似的問題已經得到解答。 試試看看這個(http://stackoverflow.com/questions/412467/how-to-embed-youtube-videos-in-php) –
我對此有一個想法,但主要問題是檢查瀏覽器的類型 – Leah