2012-11-29 95 views
0

我有這樣的代碼:YouTube視頻無法在Mozilla Firefox瀏覽器玩:HTML嵌入

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

顯示YouTube視頻。它工作正常,在谷歌Chrome,但不是在Mozilla Firefox瀏覽器。什麼是錯的這裏?我應該在這裏使用另一個html元素嗎?如何檢查用戶使用的瀏覽器也是?

+0

類似的問題已經得到解答。 試試看看這個(http://stackoverflow.com/questions/412467/how-to-embed-youtube-videos-in-php) –

+0

我對此有一個想法,但主要問題是檢查瀏覽器的類型 – Leah

回答

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,而不是完整的網址。

+0

非常感謝你.. :) – Leah

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>