2012-12-13 50 views
1

工作,我創建了YouTube視頻的自定義HTML5播放器。我將其基於YouTube iframe API中的示例(https://developers.google.com/youtube/iframe_api_reference)。只要我看它在一個Web服務器,所有的暫停/播放的JavaScript控件/停止在Chrome/FF/IE9做工精細,但在播放控制播放/下一個視頻之前的視頻僅適用於Chrome和FF工作。在IE中,我收到了「此視頻目前無法使用」(播放列表中的第一個視頻仍然播放得很好)。如果我嘗試使用其ID(loadVideoById)切換到特定視頻,也會發生這種情況。YouTube的HTML5播放列表不是IE9

我可以在視頻頂部的信息欄中看到,經過我點擊「下一個視頻播放列表」,它循環通過所有視頻的名字 - 我認爲它會嘗試打每一個和失敗。

如果我嘗試播放在播放列表中的影片任何一個單獨,它工作正常。

當我通過控制檯/警報/不管,一切都預期有播放列表返回的所有視頻的數組。代碼如下:

<!doctype html> 
<html> 
    <head> 
     <title>custom youtube player</title> 
    </head> 
    <body> 
     <div id="player"></div> 
     <br/> 
     <a onclick="player.playVideo();" href="#">play</a> 
     <br/> 
     <a onclick="player.pauseVideo();" href="#">pause</a> 
     <br/> 
     <a onclick="player.stopVideo();" href="#">stop</a> 
     <br/> 
     <a id="playPrev" onclick="player.previousVideo();" href="#">previous video in playlist</a> 
     <br/> 
     <a id="playNext" onclick="player.nextVideo();" href="#">next video in playlist</a> 
     <script type="text/javascript"> 
      var tag = document.createElement('script'); 
      tag.src = "//www.youtube.com/iframe_api"; 
      var firstScriptTag = document.getElementsByTagName('script')[0]; 
      firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 
      var player; 
      function onYouTubeIframeAPIReady() { 
       player = new YT.Player('player', { 
        height: '390', 
        width: '640', 
        playerVars: { 'showinfo': 1, 'controls': 1}, 
        videoId: 'ZrG0WsDuriM', 
        events: { 
         'onReady': onPlayerReady 
        } 
       }); 
      } 
      function onPlayerReady(event) { 
       event.target.playVideo(); 
       event.target.loadPlaylist({listType: 'playlist', list: 'PL8D3EFFBB747B9769', suggestedQuality: 'small'}); 
      } 
     </script> 
    </body> 
</html> 

回答

0

對於任何人誰發現這個問題,這個問題顯然是在YouTube方面的錯誤,似乎已經解決。

-1

你也應該有CDATA

<![CDATA[ 
// js goes here 
]]> 
包裹你的JavaScript代碼