javascript - 如何在 JWPlayer 的 ("seek") 回调中查找

标签 javascript ruby-on-rails jwplayer7

我想在 JWPlayer 7 的 on('seek') 回调中将视频返回到特定位置

我正在遵循本指南 seek

但问题是,它陷入了循环

instance = jwplayer("myDiv").setup({
    "file": "http://techslides.com/demos/sample-videos/small.mp4"
});

instance.on("seek", function(e) {
   alert("Hello");
   instance.seek(2)
});

JSFiddle

最佳答案

这是预料之中的 - 对 .seek() 方法的调用将触发后续的“seek”事件 - 因此您将陷入永无休止的循环。

您需要做的是区分通过代码触发的“seek”事件与用户交互触发的“seek”事件,然后使“onSeek”代码以此为条件。

执行此操作的一个简单方法是将“单击”监听器附加到 JW 搜索栏 HTML 元素 - 然后您可以检测到搜索是用户发起的,并根据此交互执行“重新搜索”:

instance.on('ready',function(){
    var container = instance.getContainer();
    var slider = container.querySelectorAll('.jw-slider-container');
    if(slider && slider[0]) slider[0].addEventListener("click", function() { instance.seek(2); }, true);
});

您也不需要包含“onSeek”监听器函数。

关于javascript - 如何在 JWPlayer 的 ("seek") 回调中查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41219313/

相关文章:

javascript - 在每次执行时增加 setInterval 计时器

javascript - 如何在将两个元素解析为 JSON 之前合并它们

ruby-on-rails - 我应该学习哪种 MongoDB DSL?

javascript - JW Player - 使用事件处理程序停止(目标)多个玩家

javascript - 检测暂停和 'done' 按钮点击 jwplayer7 的 iphone

firefox - JWPlayer 和 HLS 流 - "Error loading player: No playable sources found"

javascript - es6中缓存方法调用结果

javascript - CSS 在不使用 flexbox 的情况下在固定宽度元素旁边使输入宽度响应

ruby-on-rails - rails : renaming a controller and corresponding model

CMS 的 MySQL/Rails 版本控制 - 通常是如何完成的?