如何阻止YouTube视频在使用JavaScript或Jquery的iframe中播放?

时间:2016-03-17 20:53:57

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

所以我有一个显示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>

2 个答案:

答案 0 :(得分:0)

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

让它停止的最简单的解决方案是简单地删除iframe。

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

打开 时,无论是什么机制都放在首位,如果访问者需要再次重新打开同一个面板,模态会再次将其重新放回。

答案 1 :(得分:0)

这很简单。请关注,

<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','');
}

}