получить URL-адрес изображения, если это не изображение?

#jquery #ajax #json #reddit

#jquery #ajax #json #Reddit

Вопрос:

У меня есть следующая функция, которая использует JSON api Reddit для отображения последнего комикса Rage из подредакта «/ r / fffffffuuuuuuuuuuuuu». Я заставляю его извлекать URL-адрес изображения и выводить его как img. Проблема, однако, в том, что иногда представленный комикс использует ссылку на изображение на ‘imgur.com «вместо прямой ссылки, которая находится на»i.imgur.com .’

Сначала я попытался разделить запрошенный URL-адрес, чтобы получить строку только после ‘/’, но проблема по-прежнему заключалась в том, что она не содержала тип изображения (т. е. ‘.png’, ‘.jpg’ и т. Д.).

Мой вопрос в том, как я могу получить img src для URL-адресов, которые не являются прямым img src из i.imgur.com ?

Как вы можете видеть из приведенного ниже кода, единственное решение, которое у меня есть на данный момент, — это вывести сообщение об ошибке, если 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
      });     
    });

};
  

Ответ №1:

В настоящее время вы можете пропустить такие URL-адреса, которые не заканчиваются на .png, .jpg, .jpeg, .gif или другие расширения изображений. Следующим шагом будет фактическая загрузка целевого URL-адреса в imgur (примечание: не все ссылки будут указывать на imgur.com но большинство так и есть) и извлекают изображение из html, что было бы немного сложно с помощью jquery. Кроме того, на imgur или других сайтах есть функция, позволяющая показывать слайд-шоу. Что вы будете делать в этих случаях?