Youtube API iframe无法在IE / Edge中播放

时间:2018-03-21 19:39:36

标签: jquery iframe youtube youtube-api youtube-javascript-api

我在下面使用此脚本播放播放列表中的随机YouTube视频。 但是我发现在刷新页面后它没有在IE / Edge中加载(它第一次工作)。现在I read something about a lazy load但我不知道如何在我的脚本中实现它。我想这是确保正确加载脚本的最佳方法。欢迎任何其他建议。感谢。

    <?php
     $yt_id='PLFgquLnL59anYA8FwzqNFMp3KMcbKwMaT';
    ?>
    <div id="player"></div>
    <script>
            // 2. This code loads the IFrame Player API code asynchronously.
            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;
            var numPl = Math.floor((Math.random() * 100) + 1);
            var playlistId = "<?php echo $yt_id; ?>";
            // 3. This function creates an <iframe> (and YouTube player)        
            function onYouTubeIframeAPIReady() {
                player = new YT.Player("player", {
                    height: '390',
                    width: '640',
                    playerVars: {
                    autoplay: 1,
                    loop: 1
        },
                    events: {
                        'onReady': onPlayerReady,
                        'onError': onPlayerError
                    }
                });
            }
            // onPlayerReady
            function onPlayerReady(event){
            //More player vars
            player.loadPlaylist( {
            listType: 'playlist',
            list: playlistId,
            index: numPl
        } );

            //Set shuffle   
            setTimeout(function() {
              player.setShuffle({'shufflePlaylist' : true});
                  }, 1000);
                }

            // onPlayerError
            function onPlayerError(){
                    player.nextVideo();
                    }
        </script>

0 个答案:

没有答案