结束事件videojs无法正常工作

Jas*_*hot 12 javascript jquery html5-video

我希望在视频播放完成后触发一个简单的事件.我直接把它放在我的视频标签上.

     <script type="text/javascript">
        var myPlayer = videojs("session_video");
          videojs("session_video").ready(function(){
          this.addEvent("ended", function(){ 
            alert('Here I am');
          });
        });       
     </script>
Run Code Online (Sandbox Code Playgroud)

但是我得到:TypeError:this.addEvent不是一个函数,我找不到原因.

你可以在这里看到它:78.47.121.50(stackoverflow不允许建立一个链接)输入代码01-01-01-2012来调出视频.

任何见解都非常有用!

亲切的问候,杰森.

Lyn*_*ley 50

"addEvent"和"removeEvent"被"on"和"off"取代

尝试:

this.on("ended", function(){ 
Run Code Online (Sandbox Code Playgroud)


Dzi*_*mid 5

对于那些在某些浏览器中仍然存在已结束事件问题的用户,您可以使用此修复程序:

    player.ready(function() {
            var myPlayer = this;

            playerInstance.on("timeupdate", function(event) { //chrome fix
                if (event.currentTarget.currentTime == event.currentTarget.duration) {
                    console.log('video ended');
                }
            });
    });
Run Code Online (Sandbox Code Playgroud)


khi*_*nil 5

事件将不触发如果最终用户有意寻求视频作为暂停结束保持视频.我能够让它工作:

  <script type="text/javascript">
      var player = videojs('my_video', {}, function() {});
      player.ready(function(){
        var duration_time =  Math.floor(this.duration());
        this.on('timeupdate', function() {
          var current_time =  Math.floor(this.currentTime());
          if ( current_time > 0 && ( current_time == duration_time ) ){
            $('#continue_button').removeAttr("disabled");
          }
        });
      });
  </script>
Run Code Online (Sandbox Code Playgroud)