Vimeo Froogaloop API がイベントを認識しない 質問する

Vimeo Froogaloop API がイベントを認識しない 質問する

私は froogaloop API を使用して、vimeo の onPlay、onPause、onFinish イベントを認識しようとしています。このことについて考えられるあらゆることを試しましたが、うまくいきませんでした。

Firefox でこのエラーが発生します:

<code><http://player.vimeo.com></code> がペットのプロパティ Location.toString を取得する権限が拒否されました

Chrome の場合:

安全でない JavaScript が、URL `http://player.vimeo.com/video/3718294?api=1 のフレームから URL ... のフレームにアクセスしようとしています。ドメイン、プロトコル、およびポートが一致している必要があります。

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>

ベストアンサー1

何時間もイライラした後、解決策を見つけました。

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

おすすめ記事