使用jQuery获取视频的Vimeo缩略图

时间:2011-01-17 02:44:17

标签: javascript jquery thumbnails vimeo

我发现了类似的问题,但没有一个答案清楚而轻松地显示如何使用jQuery和JSON获取vimeo视频的缩略图。如果有人可以提供帮助那就太好了,这就是我所拥有的,但目前没有任何表现。

var vimeoVideoID = '17631561';
var videoCallback = 'showThumb';

$.getJSON('http://www.vimeo.com/api/v2/video/' + vimeoVideoID + '.json?callback=' + videoCallback,

function(data){
$(".thumbs").attr('src',data[0].thumbnail_large);
});

提前致谢。

3 个答案:

答案 0 :(得分:32)

我相信你有“same origin policy”问题。您应该考虑使用“file_get_contents”或“fopen”之类的东西编写服务器端脚本,这样您就可以从vimeo中获取数据,将其转换为json,并使用一个很好的ajax输出到您的javascript调用

如果您想避免使用服务器端脚本,可以使用数据类型JSONP。

var vimeoVideoID = '17631561';

$.getJSON('https://www.vimeo.com/api/v2/video/' + vimeoVideoID + '.json?callback=?', {format: "json"}, function(data) {
         $(".thumbs").attr('src', data[0].thumbnail_large);
});

请注意,URL与您使用它的方式略有不同。您定义为var的回调是不必要的。您将getJSON直接附加到函数中,因此您将在url'?'中调用'callback'。这会通知getJSON函数将成功的数据返回传递给提供的函数。

您可以测试我的代码here。希望它有所帮助!

答案 1 :(得分:0)

使用updated API,它将是...

$.getJSON('https://vimeo.com/api/oembed.json?url=https://vimeo.com/' + id, {format: "json"}, function(data) {
  $(".thumbs").attr('src', data.thumbnail_url)
});

答案 2 :(得分:-1)

请查看this page; Vimeo有一个新的方法调用oEmbed,因为Vimeo正在推动它的新oEmbed技术。

上述方法将在IE上失败(不显示拇指)。