JavaScript怎么判断HTML视频是否播放结束_JS监听HTML视频ended事件

雪夜
发布: 2025-10-11 22:33:01
原创
498人浏览过
答案:通过监听HTML视频元素的ended事件可判断播放是否结束。具体步骤为:1. 使用JavaScript获取带有ID的video元素;2. 绑定ended事件,在视频正常播放至最后一帧时触发,执行如提示用户、播放下一集等操作;3. 注意仅当视频自然播放结束时才触发,手动暂停或网络中断不会触发;4. 该方法在现代浏览器中兼容性良好,但移动端需注意自动播放限制。

javascript怎么判断html视频是否播放结束_js监听html视频ended事件

要判断HTML视频是否播放结束,可以通过监听视频元素的 ended 事件来实现。当视频播放到最后一帧并停止时,浏览器会自动触发这个事件。利用这一点,你可以执行一些操作,比如提示用户、自动播放下一个视频或显示相关推荐。

1. 获取视频元素并绑定ended事件

首先在HTML中定义一个<video>标签,并为其设置一个ID,方便JavaScript获取:

<video id="myVideo" width="640" controls>
  <source src="example.mp4" type="video/mp4">
  您的浏览器不支持 video 标签。
</video>

然后使用JavaScript获取该元素,并监听ended事件:

const video = document.getElementById('myVideo');
video.addEventListener('ended', function() {
  console.log('视频播放结束了');
  // 可以在这里执行其他操作
});

2. ended事件触发的条件

只有在以下情况满足时,ended 事件才会被触发:

立即学习Java免费学习笔记(深入)”;

模力视频
模力视频

模力视频 - AIGC视频制作平台 | AI剪辑 | 云剪辑 | 海量模板

模力视频 51
查看详情 模力视频
  • 视频正常播放到结尾(不是被暂停或停止)
  • 播放头到达媒体资源的最后一帧
  • 播放状态变为“已结束”

注意:如果用户手动暂停、跳转时间或网络中断导致无法继续加载,不会触发ended事件。

3. 实际应用场景示例

常见用途包括自动播放下一集、弹出提示、记录观看完成状态等:

video.addEventListener('ended', function() {
  alert('视频看完了,准备播放下一个?');
  // 模拟跳转或加载下一个视频
  loadNextVideo();
});

4. 兼容性与注意事项

ended 事件在所有现代浏览器中都支持,包括Chrome、Firefox、Safari、Edge等。但需要注意:

  • 确保视频源正确加载,否则可能无法触发事件
  • 移动端部分浏览器对自动播放和事件监听有限制,需用户交互后才能生效
  • 可以结合playpausetimeupdate等事件做更复杂的控制

基本上就这些。只要监听好ended事件,就能准确知道视频是否播放完毕。

以上就是JavaScript怎么判断HTML视频是否播放结束_JS监听HTML视频ended事件的详细内容,更多请关注php中文网其它相关文章!

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号