我正在尝试使用froogaloop API识别vimeo的onPlay,onPause和onFinish事件。我已经尝试了所有我能想到的一切,没有运气。

我在Firefox上收到此错误:

javascript - Vimeo Froogaloop API无法识别事件-LMLPHP

在Chrome中:

javascript - Vimeo Froogaloop API无法识别事件-LMLPHP

从CDN导入froogaloop:

<script src="http://a.vimeocdn.com/js/froogaloop2.min.js"></script>

我的JS:
$(function(){

    var vimeoPlayer = document.querySelector('iframe');

    $f(vimeoPlayer).addEvent('ready', ready);

    function ready(player_id) {

        froogaloop = $f(player_id);

        function setupEventListeners() {
            function onPlay() {
                froogaloop.addEvent('play',
                function(data) {
                    console.log('play event');
                });
            }

            function onPause() {

                froogaloop.addEvent('pause',
                function(data) {
                    console.log('pause event');
                });
            }

            function onFinish() {
                froogaloop.addEvent('finish',
                function(data) {
                    console.log('finish');
                });
            }
            onPlay();
            onPause();
            onFinish();
        }
        setupEventListeners();
    }

})

我的HTML:
<iframe src="http://player.vimeo.com/video/3718294?api=1" width="623" height="350" frameborder="0" id="iframe-video"></iframe>

最佳答案

经过数小时的无奈之后,我找到了解决方案。

由于我在iframe上使用了ID ...显然,vimeo API会强制您将参数添加到要获取的URL(player_id = iframe-id)。

因此,iFrame应该如下所示:

<iframe src="//player.vimeo.com/video/3718294?api=1&player_id=promo-vid"
        width="623" height="350" frameborder="0"
        id="promo-vid">
</iframe>

特别感谢Drew Baker指出了这一点:http://vimeo.com/forums/topic:38114#comment_5043696

07-25 22:55
查看更多