Редактировать (август 2014 г.) : Недавно я написал плагин jQuery Vimeo , который в основном решает эту проблему гораздо более элегантно. Но решение, если вы жестко программируете, это ниже:
При загрузке видео Vimeo необходимо добавить строку запроса &api=1
в URL. Это позволяет вам делать вызовы событий API. Vimeo также требует &player_id=SOME_ID
, если вы собираетесь загружать несколько видео, которое должно совпадать с идентификатором в загруженном iframe (или в моем случае, используйте jQuery, чтобы добавить его в iframe после загрузки JSON, так как я создаю это динамически.)
Я потерял полдня на этом. Вот то, к чему пришел мой окончательный код, если он полезен кому-либо еще, пытающемуся загружать видео Vimeo дианмически.
Использование фреймворка Vimeo Froogaloop
<script src="http://a.vimeocdn.com/js/froogaloop2.min.js"></script>
мой JS
var videoData = [
{
'title':'The Farm',
'id':'farmvideo',
'videoURL':'http://vimeo.com/27027307'
}];
$.getJSON('http://www.vimeo.com/api/oembed.json?url=' + encodeURIComponent(videoData[0]['videoURL']) + '&api=1&player_id='+ videoData[0]['id'] +'&width=300&callback=?', function(data){
$('#video-container').html(data.html); //puts an iframe embed from vimeo's json
$('#video-container iframe').load(function(){
player = document.querySelectorAll('iframe')[0];
$('#video-container iframe').attr('id', videoData[0]['id']);
$f(player).addEvent('ready', function(id){
var vimeoVideo = $f(id);
console.log('success');
});
});
});