如果不是图像,获取图像的 URL?

发布于 2024-12-10 01:35:36 字数 1011 浏览 4 评论 0原文

我有以下函数,它使用 Reddit 的 JSON api 列出 subreddit“/r/fffffffuuuuuuuuuuuu”中的最新 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
      });     
    });

};

I have the following function which uses Reddit's JSON api to list the latest Rage Comic from the subreddit "/r/fffffffuuuuuuuuuuuu." I have it pull the image URL and output it as an img. The problem however, is that sometimes the submitted comic uses the link to the image on 'imgur.com' rather than the direct link, which is on 'i.imgur.com.'

I initially tried splitting the requested URL so I only get the string after the '/' but the issue was still that it didn't contain the image type (ie. '.png', '.jpg', etc).

My question is, how can I get the img src for URL's that aren't the direct img src from i.imgur.com?

As you can see from the below code, the only solution I have at the moment is to output an error if the img isn't there.

Here's the function:

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
      });     
    });

};

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

下壹個目標 2024-12-17 01:35:36

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

For the time being you can skip such urls that don't end in .png, .jpg, .jpeg, .gif or other image extensions. The next step would be to actually load the target url on imgur (note: not all links will be pointing to imgur.com but majority are) and retrieve the image from the html which would be a bit tough using jquery. Also, imgur or other sites have a feature where they allow slideshows. What will you do in those cases?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文