1

我有以下函数,它使用 Reddit 的 JSON api 从 subreddit "/r/fffffffuuuuuuuuuuu" 中列出最新的 Rage Comic。我让它拉图像 URL 并将其作为 img 输出。然而,问题是有时提交的漫画使用“imgur.com”上的图像链接,而不是“i.imgur.com”上的直接链接。

我最初尝试拆分请求的 URL,所以我只在“/”之后得到字符串,但问题仍然是它不包含图像类型(即“.png”、“.jpg”等)。

我的问题是,如何从 i.imgur.com 获取不是直接 img src 的 URL 的 img src?

正如您从下面的代码中看到的那样,我目前唯一的解决方案是如果 img 不存在则输出错误。

这是功能:

var i = -1;

function rage(data) {
    var rageURL = data['data']['children'][i]['data']['url'];
    $('#comic .rage-wrap').html('<img src="'+rageURL+'" />');
    $('img').load(function() { $('.rage-wrap').fadeIn(400); });
    $('img').error(function() { alert('whoops!'); });

};
function nextRage() {
    $('.next-rage').live('click', function() {
        $('.rage-wrap').fadeOut(400);
        i++;
        $.ajax({
          type: "GET",
          url: "http://www.reddit.com/r/fffffffuuuuuuuuuuuu/.json",
          dataType: "jsonp",
          jsonp: "jsonp",
          success: rage
      });     
    });

};
4

1 回答 1

0

暂时您可以跳过不以 .png、.jpg、.jpeg、.gif 或其他图像扩展名结尾的此类网址。下一步是在 imgur 上实际加载目标 url(注意:并非所有链接都指向 imgur.com,但大多数链接都指向 imgur.com)并从 html 中检索图像,这使用 jquery 会有点困难。此外,imgur 或其他网站具有允许幻灯片放映的功能。在这些情况下你会怎么做?

于 2011-11-12T21:35:14.823 回答