如何阻止 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&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','');
}
}
所以我有一个显示 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&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','');
}
}