You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vimeo视频播放结束后自动触发事件关闭外层div

Vimeo 全屏介绍视频层自动关闭实现方案

需求说明

我需要为网站添加全屏宽度的介绍视频层,覆盖在网站原有内容和背景上层。目前已经实现了嵌套Vimeo iframe的视频容器div,也完成了点击即可通过JS关闭该div的「跳过介绍」按钮。
现在还需要实现视频播放结束后自动关闭该div的功能,因此需要监听Vimeo视频的结束事件来触发关闭操作。
我已知晓YouTube API可以实现该需求,但由于Vimeo支持完全隐藏控件、logo等所有元素,因此必须使用Vimeo平台。


更新:功能已生效,感谢大家的帮助,有类似需求的开发者可以参考如下代码:

HTML 代码

<div id="videointro">
  <iframe src="https://player.vimeo.com/video/xxxxxxxxx?title=0&byline=0&portrait=0&transparent=0&autoplay=1&sidedock=0&controls=0" frameborder="0" title="Funny Cat Videos For Kids" webkitallowfullscreen mozallowfullscreen allowfullscreen data-ready="true"></iframe>
</div>
<button id="btn">跳过介绍</button>

<!-- 引入Vimeo官方播放器SDK -->
<script src="https://player.vimeo.com/api/player.js"></script>
<script type="text/javascript" src="video.js"></script>

JS 逻辑代码

// 跳过按钮点击关闭逻辑
btn.onclick = function () {
    document.getElementById("videointro").style.display = 'none';
};

// 初始化Vimeo播放器实例
var iframe = document.querySelector('iframe');
var player = new Vimeo.Player(iframe);

// 播放事件监听(调试用可删除)
player.on('play', function() {
  console.log('Played the video');
});

// 获取视频标题(调试用可删除)
player.getVideoTitle().then(function(title) {
  console.log('title:', title);
});

// 核心:监听播放结束事件
player.on('ended', function() {
    console.log('视频播放结束');
    player.destroy();
    // 关闭全屏视频层,原示例漏写可自行添加
    document.getElementById("videointro").style.display = 'none';
});

内容的提问来源于stack exchange,提问作者Jay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 23:15:08