如何在video.js中捕获手动搜索?

时间:2019-06-04 17:20:26

标签: javascript video.js

每次我手动搜索或使用set @'Sunday before last' = STR_TO_DATE(CONCAT(YEARWEEK(curdate() - INTERVAL 1 WEEK),' Sunday'), '%X%V %W'); set @'Last Sunday' = STR_TO_DATE(CONCAT(YEARWEEK(curdate()),' Sunday'), '%X%V %W') ; 进行更改时,video.js中都会触发一个seeked事件。有可能区分这些工作流程吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

一种选择是对player.currentTime进行猴子补丁,以便在调用它时设置一些变量(例如,记录时间戳)。然后,您可以在seeked处理程序中检查该时间戳记,并确定是否最近调用了currentTime,足以使其成为seeked事件的起因。

var timeOfLastTimeChange = 0;
(function() {
    var realCT = player.__proto__.currentTime;
    player.__proto__.currentTime = function(time) {
        timeOfLastTimeChange = Date.now();
        return realCT.apply(this, arguments);
    }
})();

然后在Date.now() - timeOfLastTimeChange处理程序中执行seeked,以查看自currentTime被调用以来的毫秒数。如果它大于某个阈值,则假定更改是由于用户交互而发生的。