嵌入式YouTube视频继续在封闭容器上播放

时间:2015-10-27 03:54:07

标签: javascript jquery html css youtube

我在一个灯箱上工作,通过在jquery上点击一个元素打开一个窗口 适用于图片,但如果我打开YouTube视频并播放它,关闭窗口后(显示:无),视频将继续在后台播放..
我使用this tutorial作为灯箱 YouTube视频嵌入为iframe。

关闭窗口


    $(".js-modal-close, .modal-overlay").click(function() {
      $(".modal-box, .modal-overlay").fadeOut(500, function() {
        $(".modal-overlay").remove();
      });
    });

我如何解决我的问题?

1 个答案:

答案 0 :(得分:2)

步骤1.使用enablejsapi=1启用iframe API并向iframe添加id

<iframe id="player" src="https://www.youtube.com/embed/MxMBueIjtv0?enablejsapi=1" frameborder="0" allowfullscreen></iframe>

步骤2.加载API并使用步骤1中的id创建播放器。对于此演示,我使用player(可能是一个糟糕的选择):

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

var player;
function onYouTubeIframeAPIReady() {
  /* probably should tie into the `onReady` event,
     but for this demo's purpose it's unnecessary.
     the video will probably be ready by the time
     you get to the close button. */
  player = new YT.Player('player');
}

步骤3.在您的close模型代码段中调用stopVideo函数:

$(".js-modal-close, .modal-overlay").click(function() {
  player.stopVideo(); /* you can optionally also set the video back
                         at the beginning with `player.seekTo(0);` */
  $(".modal-box, .modal-overlay").fadeOut(500, function() {
    $(".modal-overlay").remove();
  });
});

文件:https://developers.google.com/youtube/iframe_api_reference
演示:http://jsfiddle.net/4f5dksj5/