视频播放结束后添加事件

时间:2020-10-09 19:11:06

标签: javascript video html5-video media-player video.js

在Laravel项目中,我有视频vjs播放器,如以下代码所示:

<video
   id="my-video"
   class="video-js "
   controls 
   preload="auto"
   width="100%"
   height="auto"
   poster={{asset('images/'.$course->id.'.png')}}
   data-setup='{"fluid": true}'
   >
   <source src="{{asset('promos/'.$course->id.'.mp4')}}" />
   <source src="{{asset('promos/'.$course->id.'.mp4')}}" />
</video>

我想在视频播放结束后执行操作(将数据添加到服务器),但是这样做没有用:

<script>
    var vid = document.getElementById("my-video");
    vid.onended = function() {
    alert("The video has ended");
};
</script>

我该如何解决?

2 个答案:

答案 0 :(得分:1)

我希望其中之一会有所帮助

var options = {};
var player = videojs('my-video', options, function onPlayerReady() {
    this.on('ended', function() {
        //do something here...
    });
});

O

var player = document.getElementById("my-video");
player.addEventListener("ended", function() {
  //do something here...
});

答案 1 :(得分:1)

由于Jsplayer无法正常工作,我使用了html5视频播放器,这很好:-

<video oncontextmenu="return false;" width="100%" height="auto" controls id="player"
controls controlsList="nodownload" poster="{{asset('images/'.$course->id.'.png')}}"
onended="alert('it is worked')">
    <source src="{{asset('promos/'.$course->id.'.mp4')}}" type="video/mp4">
    <source src="{{asset('promos/'.$course->id.'.m4v')}}" type="video/ogg">
</video>