Javascript 停止播放视频
我在同一页上有两个视频,它们在iframe中打开。当我关闭弹出窗口时,视频不会停止。它一直在玩。由于我无法控制的情况,我不得不在iFrame中处理视频 任何人都可以帮忙,下面是相同的代码: jQuery:Javascript 停止播放视频,javascript,jquery,Javascript,Jquery,我在同一页上有两个视频,它们在iframe中打开。当我关闭弹出窗口时,视频不会停止。它一直在玩。由于我无法控制的情况,我不得不在iFrame中处理视频 任何人都可以帮忙,下面是相同的代码: jQuery: $("[data-media]").on("click", function(e) { e.preventDefault(); var $this = $(this); var videoUrl = $this.attr("data-media"); var p
$("[data-media]").on("click", function(e) {
e.preventDefault();
var $this = $(this);
var videoUrl = $this.attr("data-media");
var popup = $this.attr("href");
var $popupIframe = $(popup).find("iframe");
$popupIframe.attr("src", videoUrl);
var left = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
var left = left/2 - 340;
var top = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
var top = top/2 - 180;
document.getElementById("vid").style.top = top + "px";
document.getElementById("vid").style.left = left + "px";
document.getElementById("vid1").style.top = top + "px";
document.getElementById("vid1").style.left = left + "px";
$this.closest(".page").addClass("show-popup");
});
$(".popup").on("click", function(e) {
e.preventDefault();
e.stopPropagation();
$(".page").removeClass("show-popup");
});
$(".popup > iframe").on("click", function(e) {
e.stopPropagation();
});
HTML:
视频1
视频2
这将“重置”每个iframe的src
属性,停止视频
jQuery("iframe").each(function() {
var url = jQuery(this).attr('src');
jQuery(this).attr('src', url);
});
如果iframe在您的域中,您还可以运行以下命令
jQuery('iframe').contents().find('video').each(function ()
{
this.pause();
});
jQuery('video').each(function ()
{
this.pause();
});
电子战
这个笨蛋帮我解决了我的问题
HTML:
这对我有帮助,看看吧! 基本上,您需要使用iframe或video来启动播放器,并且该代码会在您需要时停止播放
var stopVideo = function ( element ) {
var iframe = element.querySelector( 'iframe');
var video = element.querySelector( 'video' );
if ( iframe !== null ) {
var iframeSrc = iframe.src;
iframe.src = iframeSrc;
}
if ( video !== null ) {
video.pause();
}
};
要停止视频,不仅暂停视频,您可以将
当前时间
设置为0
如下:
video.pause()
video.currentTime = 0
可能的重复:如果可能的话,我还建议您使用
video
元素,而不是直接将iframe
的src
设置为视频,因为它给您提供了更多的控制-您只需使用pause()
方法。@Rorymcrossan您能分享一个例子吗?这可能会对我有所帮助。你的弹出窗口只是页面中的一个html元素。以弹出窗口的形式显示或隐藏。但是隐藏它并不会从页面中删除该元素,因此即使您看不到它,视频仍会播放。你需要重新设置iframe的url(为什么要使用iframes?@Seb,我不得不使用它,因为另一个程序员开发了这部分代码及其巨大的数据来改变一切这对我没有任何帮助@Bryant
$(function(){
$('.modal').on('hidden.bs.modal', function (e) {
$iframe = $(this).find("iframe");
$iframe.attr("src", $iframe.attr("src"));
});
});
var stopVideo = function ( element ) {
var iframe = element.querySelector( 'iframe');
var video = element.querySelector( 'video' );
if ( iframe !== null ) {
var iframeSrc = iframe.src;
iframe.src = iframeSrc;
}
if ( video !== null ) {
video.pause();
}
};
video.pause()
video.currentTime = 0