0

我正在使用 jQuery 在我的网站上显示 Dribbble 数据。在这种情况下,我试图在我的 Dribbble 个人资料上显示我的最后一个镜头,使用下面的代码:

$.getJSON('http://api.dribbble.com/players/joaotiago/shots?per_page=1&callback=?', function(data) {

    url = data.shots[0].short_url;
    title = data.shots[0].title;
    src = data.shots[0].image_teaser_url;

    $('#dribbble a').attr('href', url);
    $('#dribbble a').attr('title', 'Last shot on Dribbble: '+title);
    $('#dribbble a').css({
        'background' : 'url('+src+')',
        'background-size' : 'contain'
    });      
});

大多数情况下,我的最后一个镜头会在 20 秒后出现(在我网站上显示的三个圆圈中的第一个),有时我什至会得到 502。请注意:Uncaught TypeError: Cannot read property 'artist' of undefined来自控制台的错误是由另一个不相关的问题引起的我有。关于为什么这么慢,有时甚至超时的任何建议?

4

2 回答 2

1

嗯......这可能只是他们的 API 非常缓慢(而且看起来如此)。我不认为你可以做很多事情......

作为检查,尝试http://api.dribbble.com/players/joaotiago/shots?per_page=1直接从您的浏览器地址栏进入,您会注意到它需要相当长的时间才能显示出来。

唯一的选择似乎是编写它们并让它们的 API 更快地工作,或者将结果缓存在您身边并异步刷新:

  1. 显示缓存结果(理论上很快)
  2. 从 API 获取结果(需要时间,这里不急:我们已经展示了一些东西)
  3. 如果没有改变,停止(获利)
  4. 如果更改,请保存新结果(并可能将页面上显示的结果与新结果交换......不是很好的体验,但它只会影响第一个访问者)

干杯。

于 2012-12-05T12:09:35.880 回答
1

我尝试了一些在我的最后工作正常的请求 url。虽然最后一次拍摄仍然需要一些时间,但在任何网站上都是第一次。在这里查看 设置限制的运球投篮

I have used it in a beautiful Multi social tabs module of Joomla by Webkul, have a look at it by following the link then simply check dribble tab there

于 2015-11-03T11:23:00.590 回答