0

我正在使用 Vimeo 的 Froogaloop API 来控制嵌入式 Vimeo 视频。我使用以下代码创建了一些返回 30 秒、返回 60 秒、前进 30 秒和前进 60 秒的按钮。一切正常,但是......

每次单击“返回”按钮之一时,我都会收到大约 33 个以下错误实例。当我单击“前进”按钮时,不会发生错误。

为什么会出现此错误,如何修复此代码以使错误不会发生?

JSFIDDLE
http://jsfiddle.net/serkyen/553htq60/8/

错误
未捕获错误:秒数必须是小于视频持续时间的正浮点数(未定义)。

JAVASCRIPT

window.onload = (function() {

var iframe_player = jQuery('#player_1')[0];
var player_1 = $f(iframe_player);

player_1.addEvent('ready', function() {
        player_1.addEvent('pause', onPause_part1);
        player_1.addEvent('finish', onFinish_part1);
        player_1.addEvent('playProgress', onPlayProgress_part1);
});

function onPlayProgress_part1(data, id) {

    jQuery("#part1-60s-b").click(function(){    
        player_1.api('seekTo', data.seconds - 60);
        player_1.api('play');       
    });

    jQuery("#part1-30s-b").click(function(){
        player_1.api('seekTo', data.seconds - 30);
        player_1.api('play');
    });

    jQuery("#part1-30s-f").click(function(){    
        player_1.api('seekTo', data.seconds + 30);
        player_1.api('play');       
    });

    jQuery("#part1-60s-f").click(function(){    
        player_1.api('seekTo', data.seconds + 60);
        player_1.api('play');       
    });
}
}



HTML

<a id="part1-60s-b" href="javascript:void(0);" class="simple-button">Back 60s</a>
<a id="part1-30s-b" href="javascript:void(0);" class="simple-button">Back 30s</a>
<a id="part1-30s-f" href="javascript:void(0);" class="simple-button">Forward 30s</a>
<a id="part1-60s-f" href="javascript:void(0);" class="simple-button">Forward 60s</a>


4

1 回答 1

0

这里有几件事:

  1. 您正在为每个进度事件的链接设置一个新的侦听器,因此很快就有数百个。您可以通过将点击处理程序放在就绪事件的回调中来解决此问题。

  2. 确保您没有传递小于 0 或大于视频持续时间的 seekTo 时间。玩家将忽略任何超出这些界限的 seekTo 调用。

于 2014-11-25T19:52:22.960 回答