javascript - YouTube html5 播放列表在 IE9 中不起作用

标签 javascript html youtube embed playlists

我正在为 youtube 视频创建一个自定义 html5 播放器。我基于 YouTube iframe API (https://developers.google.com/youtube/iframe_api_reference) 中的示例。只要我在网络服务器上查看它,所有用于暂停/播放/停止的 JavaScript 控件都可以在 Chrome/FF/IE9 中正常工作,但播放列表中的上一个视频/播放列表控件中的下一个视频只能在 Chrome 和 FF 中工作。在 IE 中,我收到“此视频当前不可用”(播放列表中的第一个视频仍然可以正常播放)。如果我尝试使用特定视频的 ID (loadVideoById) 切换到该视频,也会发生这种情况。

我可以在视频顶部的信息栏中看到,在单击“播放列表中的下一个视频”后,它会循环播放所有视频的名称 - 我认为它会尝试播放每个视频但会失败。

如果我尝试单独播放播放列表中的任何一个视频,效果很好。

当我通过控制台/警报/其他方式返回播放列表中所有视频的数组时,预期的所有内容都在那里。代码如下:

<!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>

最佳答案

对于发现此问题的任何人来说,此问题显然是 YouTube 方面的一个错误,并且似乎已得到解决。

关于javascript - YouTube html5 播放列表在 IE9 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13869158/

相关文章:

javascript - 在没有数据库的情况下更新 html 'permanenlty'?

javascript - 附加YouTube嵌入式视频标题

json - YouTube 视频的 liveStreamingDetails 属性是否已弃用/未实现?

javascript - HTML/CSS 和 javascript 中选项卡中的选项卡?

html - 全屏图像预览不会垂直调整大小

php - YouTube API v2.0 - OAuth 2.0授权

javascript - 多数据表切换列

javascript - 如何保持动画之间的时间间隔?

javascript - if-else Javascript 语句的语法错误

javascript - 停止动态 div 推送其他元素