停止嵌入 youtube iframe?

新手上路,请多包涵

我正在使用 YouTube iframe 在我的网站上嵌入视频。

 <iframe width="100%" height="443" class="yvideo" id="p1QgNF6J1h0"
              src="http://www.youtube.com/embed/p1QgNF6J1h0?rel=0&controls=0&hd=1&showinfo=0&enablejsapi=1"
              frameborder="0" allowfullscreen>
</iframe>

我在同一页面上有多个视频。

我想通过单击使用 javascript 左右的按钮来停止所有这些或其中一个。

可能吗?

更新:

我尝试了 Talvi Watia 所说并使用的内容:

 $('#myStopClickButton').click(function(){
  $('.yvideo').each(function(){
    $(this).stopVideo();
  });
});

我越来越:

 Uncaught TypeError: Object [object Object] has no method 'stopVideo'

原文由 Danpe 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 616
2 个回答

不幸的是,这些 API 发展得非常快。截至 2015 年 5 月,建议的解决方案不再有效,因为播放器对象没有 stopVideo 方法。

在此页面 ( 1 ) 中可以找到一个可靠的解决方案,它适用于:

 <iframe id="youtube_player" class="yt_player_iframe" width="640" height="360" src="http://www.youtube.com/embed/aHUBlv5_K8Y?enablejsapi=1&version=3&playerapiid=ytplayer"  allowfullscreen="true" allowscriptaccess="always" frameborder="0"></iframe>

以及以下 JS/jQuery 代码:

 $('.yt_player_iframe').each(function(){
  this.contentWindow.postMessage('{"event":"command","func":"stopVideo","args":""}', '*')
});

原文由 Marco Faustinelli 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果有人仍在寻找答案,我已经这样解决了:

 $("#photos").on("hide",function(){
    var leg=$('.videoPlayer').attr("src");
    $('.videoPlayer').attr("src",leg);
});

#photos 是模式的 ID,.videoPlayer 是 iframe 的类。基本上它会刷新 src 属性(并停止播放视频)。所以,

     $('#myStopClickButton').click(function(){
      $('.yvideo').each(function(){
        var el_src = $(this).attr("src");
        $(this).attr("src",el_src);
      });
    });

应该做的伎俩。

原文由 Jax297 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题