【发布时间】:2019-06-21 16:42:40
【问题描述】:
我有一个视频想在网站上展示给用户,我创建了一个按钮,他们点击它并在弹出窗口中显示一个 youtube 视频,但是当我关闭它时,它仍然在选项卡中显示“正在播放音频”你仍然可以听到视频。当他们点击 X 或其他任何地方(他们也可以通过点击任何地方关闭它)来实际停止视频及其音频时,我该如何实现。
$(document).ready(function() {
$('#headerVideoLink').magnificPopup({
type:'inline',
midClick: true // Allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source in href.
});
});
#headerPopup{
width:75%;
margin:0 auto;
}
#headerPopup iframe{
width:100%;
margin:0 auto;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css" rel="stylesheet"/>
<a href="#headerPopup" id="headerVideoLink" target="_blank" class="btn btn-white btn-outline-white px-4 py-3 popup-modal"><span class="icon-play mr-2"></span>Watch Video</a></p>
<div id="headerPopup" class="mfp-hide embed-responsive embed-responsive-21by9">
<iframe class="embed-responsive-item" width="854" height="480" src="https://www.youtube.com/embed/qN3OueBm9F4?autoplay=1" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
任何帮助都意义重大,谢谢!
【问题讨论】:
-
你有弹出窗口的代码吗?我相信这是一个 iframe?
-
我不知道为什么它在这里不起作用,在我的浏览器中它播放视频,而在代码截图中它不起作用
-
当你打开你的模态框时,它会创建 iframe,但当你关闭它时没有什么可以破坏它。我认为正在发生的事情是,当您加载页面时,iframe 会加载到 dom 中,当您打开模态框时,它会启动视频,当您关闭模态框时,它仍然存在于 DOM 中但随着播放选项。你应该有一个功能,当你关闭它时重置你的模式。您可以通过将模式的 html 设置为之前的状态或通过销毁它来实现这一点,而不是让 iframe 静态您可以动态生成它。
-
嗯,你能帮帮我吗?
-
您可以尝试在关闭事件中清空 iframe 源,例如
$('iframe').attr('src', '');
标签: javascript jquery html css