Bootstrap Modal 是一个流行的前端框架,用于创建响应式和移动优先的网页。Modal 是一种弹出窗口,可以在不离开当前页面的情况下显示额外的内容。当 Modal 关闭时,通常希望其中的媒体内容(如 YouTube 视频)也停止播放,以避免不必要的资源消耗和背景噪音。
当 Bootstrap Modal 关闭时,嵌入的 YouTube 视频可能仍在后台播放。这通常是因为视频的播放控制没有与 Modal 的状态同步。
可以通过监听 Modal 的关闭事件来停止视频播放。以下是一个示例代码:
<!-- HTML部分 -->
<div class="modal fade" id="videoModal" tabindex="-1" role="dialog" aria-labelledby="videoModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<iframe id="youtube-video" width="560" height="315" src="https://www.youtube.com/embed/VIDEO_ID?enablejsapi=1" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
<!-- JavaScript部分 -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<script src="https://www.youtube.com/iframe_api"></script>
<script>
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('youtube-video');
}
$('#videoModal').on('hidden.bs.modal', function () {
if (player) {
player.stopVideo();
}
});
</script>
onYouTubeIframeAPIReady
函数来初始化 YouTube 播放器。hidden.bs.modal
事件,当 Modal 关闭时调用 player.stopVideo()
方法停止视频播放。通过这种方式,可以确保当 Bootstrap Modal 关闭时,嵌入的 YouTube 视频也会停止播放,从而提升用户体验和资源利用效率。
领取专属 10元无门槛券
手把手带您无忧上云