YouTube在桌面版上播放弹出窗口,但在移动设备上播放

时间:2016-05-16 04:17:55

标签: javascript html twitter-bootstrap youtube

我使用以下脚本播放YouTube视频作为引导程序Modal,它在桌面版本上播放视频,但同样无法在iphone和iPad等移动设备上播放。

YouTubeLoader.js

// Load & insert into DOM Youtube iframe_api
var tag = document.createElement('script');

tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

/* Create Player */
var player;

function onYouTubeIframeAPIReady() {

  console.log('Api Loaded');

}

  $(".youtubeVideoLoader").each(function() {
    // Set the BG image from the youtube ID
    $(this).css('background-image', 'url(//i.ytimg.com/vi/' + this.id + '/hqdefault.jpg)');

      // Click the video div
      $(document).delegate('#' + this.id, 'click', function() {
        // Vemos le id del video
        console.log(this.id);

        // Create new instance of player
        player = new YT.Player('videoModalContainer', {
          videoId: this.id,
          events: {
            'onReady': OpenModal,
            'onStateChange': console.log('Changed')
          }
        });

        // Show Modal
        function OpenModal() {
          $("#youtubeModal").modal({backdrop: "static"});
          // Set Highres
          player.setPlaybackQuality('highres');
          // Play Video
          player.playVideo();
        };
      });// /click

  }); // /each video

  // Add a Lisener to Modal CLose Button
  $('#CloseModalButton').click(function(){
        console.log('Stop Preset');
        player.destroy();
      });

HTML

<div  id="3WCMCeS7Na4" class="youtubeVideoLoader">
</div>
    <!-- Modal Template -->
    <div class="modal fade" id="youtubeModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
      <div class="modal-dialog" role="document">
         <div class="modal-footer">
            <button id="CloseModalButton" type="button" class="btn btn-default" data-dismiss="modal">X</button>
          </div>
        <div class="modal-content">

          <div class="modal-body">
            <div id="videoModalContainer">

            </div>
          </div>

我已尝试使用其他视频,我遇到了同样的问题,因为我最初认为它可能是一个因特权而无法播放的视频

1 个答案:

答案 0 :(得分:0)

解决了以下两行代码的问题。

 //player.setPlaybackQuality('highres');
 //player.playVideo();

由于Youtube停止了视频的自动播放功能,因此无法在移动设备上播放。不知道为什么它适用于桌面版......