我正在使用Vimeo的Froogaloop API来控制嵌入式Vimeo视频。
我创建了一些按钮,这些按钮可以使用以下代码返回30秒,返回60秒,前进30秒和前进60秒。一切都很完美,但是......
每次单击其中一个“后退”按钮时,我会收到大约33个以下错误的实例。单击“前进”按钮时不会发生错误。
为什么会出现此错误以及如何修复此代码以便不会发生错误?
的jsfiddle
http://jsfiddle.net/serkyen/553htq60/8/
ERROR
未捕获错误:秒必须是小于视频持续时间的正浮点数(未定义)。
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>
答案 0 :(得分:0)
这里有几件事情发生了:
您正在为每个进度事件的链接设置一个新的侦听器,因此很快就有数百个。您可以通过将单击处理程序放在ready事件的回调中来解决此问题。
确保您没有传递小于0或大于视频持续时间的搜索时间。玩家将忽略任何超出界限的seekTo调用。