如何阻止 YouTube 视频在带有 JavaScript 或 Jquery 的 Iframe 中播放?

How can you stop a YouTube video from playing in an Iframe with JavaScript or Jquery?

所以我有一个显示 YouTube 视频的模式。问题是,当我关闭模式时,我仍然听到视频在播放。我看过其他解决方案,但它们似乎不起作用。请记住,我无法将 ID 应用于 iframe,因为 iframe 是动态创建的。无论如何,当我关闭模式时,是否可以使用 JavaScript 或 JQuery 停止或暂停视频?

我的代码如下:

<script>
(function($){
  $(document).ready(function() {
  $('.b-close').on('click', function() {
   $('iframe').get(0).stopVideo();
  });
})(jQuery);
</script>



 <div id="element_to_pop_up" attrId="20">
   <a class="b-close">x</a>
   <h3 class="pop-hd">Title</h3>
   <div class="pretty-embed play" data-pe-videoid="nGSfaMxCu-U" data-pe-fitvids="true" data-pe-allow-fullscreen="false">

   <iframe width="330" height="186" style="border:none;" src="//www.youtube.com/embed/nGSfaMxCu-U?autoplay=1&amp;rel=1"></iframe>

   </div>

  </div>

如果您的代码 运行 不在那里,您将无法控制嵌入在 iframe 中的视频(当然不包括 YouTube 自己的 iframe)。

不过,让它停止的最简单解决方案是完全删除 iframe。

$('iframe').get(0).remove();

大概是在 opening 时首先将其放在那里的任何机制如果访问者需要重新打开,模态将再次将其放回原处又是同一个面板。

很简单。执行以下操作,

<iframe id="vidstop" width="100%" height="96%"
   src="">
   </iframe>  

btn.onclick = function() {
$("#vidstop").attr('src','https://www.youtube.com/embed/....');
}

在 iframe 外部点击后,

window.onclick = function(event) {
if (event.target == modal) {
    $("#vidstop").attr('src','');
}

}