私は froogaloop API を使用して、vimeo の onPlay、onPause、onFinish イベントを認識しようとしています。このことについて考えられるあらゆることを試しましたが、うまくいきませんでした。
Firefox でこのエラーが発生します:
Chrome の場合:
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