【问题标题】:Video's audio continues to play after replete modal is closed关闭replete modal后视频音频继续播放
【发布时间】:2018-09-23 05:01:20
【问题描述】:

试图为此找到解决方案,但找不到任何可行的方法。我试过了

$('video').trigger('pause');

并且 html 中没有关闭按钮可以附加任何脚本。但是,我不知道 jquery 或 javascript,所以我希望有人能提供帮助。

使用“Replete Modal”,这似乎很受欢迎,但如果在完整观看之前关闭模态,我会遇到视频音轨继续播放的问题。似乎只有在桌面浏览器上查看时才会出现问题。

希望找到一种解决方案也可以停止音频。

下面是我插入的 HTML 代码:

<div style="margin:50 auto; width:700px;">
		<a class="vimeo" >vimeo</a>
		<script>
			$(window).load( function(){
				rplm({
					title: "ETSA Teacher Training",
					text: '<video width="100%" height="338" controls autoplay><source src="Endeavour Teaching.mp4" type="video/mp4"><!--source src="movie.ogg" type="video/ogg"-->Your browser does not support the video tag.</video>',
					html: true,
					showConfirmButton: true,
					delay: 2,
					animation: 'fadeIn',
					allowOutsideClick: true,
					overlay: "black",
					videoHeight: "338",
					videoWidth: "100%",
		preventDialog: true,
		cookieName: "blockModal",
		preventText: "Block This Pop-up.",
		preventDays: 30,
		modalNOverlay: 'black',
				});
			});
		</script>
	</div>
你可以在这里看到这个:http://www.endeavourtsa.org/index-test3.html 显然有 css 和 js 文件,但由于我不知道需要什么部分,所以我不想在这里发布所有代码,除非我必须这样做。 如果需要,我可以发布,或者您可以在此处找到文件: http://www.endeavourtsa.org/modal.zip

非常感谢任何帮助!

【问题讨论】:

  • 当您单击“确定”按钮关闭 rplm 弹出窗口时,它实际上并没有暂停视频,它只是隐藏了弹出窗口。单击按钮时,您需要暂停视频
  • 我知道,但我不知道该怎么做。正如我所提到的,html 代码中没有用于附加脚本以暂停视频的按钮。我尝试只添加脚本,但没有成功,而且我对 jquery/javascript 了解不足,无法尝试编辑 js 文件。

标签: javascript jquery html video-streaming html5-video


【解决方案1】:

查看源代码后,您需要在弹出窗口中为视频添加视频 ID,以便稍后引用 (id="evideo")

rplm({
    title: "ETSA Teacher Training",
    text: '<video id="evideo" width="100%" height="338" controls autoplay><source src="Endeavour Teaching.mp4" type="video/mp4"><!--source src="movie.ogg" type="video/ogg"-->Your browser does not support the video tag.</video>',

然后将 onclick 处理程序添加到关闭弹出窗口的按钮(除非rplm 有一个事件模型,允许您更轻松地将代码附加到弹出窗口的close 事件):

        modalNOverlay: 'black',
        });
        document.getElementsByClassName("confirm")[0].addEventListener("click",function(){alert('boo')})
    });
</script>

(可能需要一些调整和额外的事件,因为模态框也可以通过在框外单击来关闭,但需要查看rplm 文档以查看是否有更优雅的解决方案)

【讨论】:

  • 感谢@Offbeatmammal 到目前为止的帮助。所有事件似乎都由 .js 文档控制的事实完全让我震惊。我尝试了上述方法,但我认为需要对 js 文件进行“调整”。可以在此处找到 JS 文件- (endeavourtsa.org/modal/js/replete-modal.js)、JS min- (endeavourtsa.org/modal/js/replete-modal.min.js) 或者我将带有文档的 zip 文件附加到原始帖子中。据我所知,有 3 个部分处理关闭按钮/事件。 46-23、345-738 和 1523-1552 线。如果您能提供更多帮助,那就太好了
  • 您是否有任何有关 replete-modal 代码的文档(据我所知,您需要购买许可证才能获取文档) - 似乎可以附加一个回调函数当模态关闭时触发,这将是最好的方法(在上面的调整中,您是否看到“嘘”警报,还是从未触发?)
  • @Offbeatmammal- 非常感谢您的帮助。实际上,我决定尝试恢复使嵌入正常工作,因为我在所有浏览器中都无法正确显示视频。但是这个解决方案几乎就在那里。感谢您的专业知识。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 2019-01-27
  • 2020-12-05
  • 2017-04-14
  • 1970-01-01
  • 2015-02-26
  • 2018-09-14
相关资源
最近更新 更多