javascript - HTML5 视频播放器 - video.js - Chromium 和 Mozilla Firefox 上视频播放结束时的不同行为

标签 javascript html html5-video video.js

我正在使用video.js,

我正在两个不同的浏览器中渲染视频。

Chromium:版本 31.0.1650.63 Ubuntu 13.04 和

Mozilla 火狐浏览器:26.0

我已经提供了视频自动播放的选项

HTML 标记和 Jq 代码如下。

<script type="text/javascript">
  $("video").on("ended", function(){ 
      var vid = videojs($(this).attr("name"));
      vid.controlBar.hide();
      vid.bigPlayButton.show();
    });     
  $("video").on("pause", function()
    { 
       var vid = videojs($(this).attr("name"));
       vid.bigPlayButton.show(); 
    });  
  $("video").on("play", function(){  
       var vid = videojs($(this).attr("name"));
       vid.controlBar.show();
       vid.bigPlayButton.hide();
    });
 </script>

当视频播放结束时 - Firefox 浏览器会显示一些微调器,而 Chromium 会显示矩形框,单击即可重新播放视频。

here is mark up of video tag

enter image description here

enter image description here

请说明为什么行为之间存在差异? 我们如何克服这个问题?

最佳答案

您可以通过执行以下操作来尝试使用 videojs 事件:

var activePlayers = videojs.players;
$.each( activePlayers, function(key,value) { 
    value.on('ended', function() {
        this.controlBar.hide();
        this.bigPlayButton.show();
        this.loadingSpinner.hide();
    });
});

这相当快,可能需要一些调整,主要是使用 $.eachfor( x in obj) 以及如果 jquery 包装 value 在 jquery 对象中。

旁白:我知道在循环内使用匿名函数是不受欢迎的,但这只是为了给你一个想法。

关于javascript - HTML5 视频播放器 - video.js - Chromium 和 Mozilla Firefox 上视频播放结束时的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24626008/

相关文章:

javascript - 如何在我的 npm 脚本中使用 'watch'?

javascript - 加载和显示 svg

html - 在电子邮件中嵌入 Youtube 视频

javascript - 如何在 removeCue() 函数后刷新 TextTrack

javascript - 如何通过按下按钮 Javascript 来减少或增加数字

javascript - ExtJS 亚马逊 SDK

javascript - ajax后在kendo ui dropdownlist控件上设置索引

javascript - 在本地存储中保存动态创建的列表框

javascript - 在 html 文件中包含 no cache 元标记是否也会阻止缓存该 html 文件中链接的 js 和 css 文件?

ios - 为什么 vimeo HTML 播放器会中断我的应用程序 Audio Session ?