2012-12-13 57 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代码