JSon Flickr Feed ссылка на изображение - PullRequest
0 голосов
/ 26 ноября 2011

Я подключаюсь к каналу flickr и показываю изображения на своей странице.

Работает нормально, но то, что я нажимаю на любом из изображений, ссылается на страницу, откуда приходят изображения.

Что мне нужно сделать, так это сделать ссылку на фактическое изображение вместо всей страницы.

Вот текущий код:

<script>$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
        function(data){
          $.each(data.items, function(i,item){
            $("<img/>").attr("src", item.media.m).appendTo("#images").wrap("<a href='" + item.link + "'></a>");



            if ( i == 20 ) return false;
          });
        });</script>

Есть идеи у кого-нибудь?

1 Ответ

1 голос
/ 26 ноября 2011

Вы хотите найти URL-адрес статического сервера изображений в ленте, который, кажется, находится в поле <media:content> в атрибуте url.
<media:content url="http://farm8.staticflickr.com/7031/6404754477_f2338d2484_b.jpg" type="image/jpeg" height="683" width="1024"/>

Приведенный выше пример взят из этогоподача в flickr: http://api.flickr.com/services/feeds/photos_public.gne?tags=china&lang=en-us&format=rss_200

Вы должны иметь возможность просто анализировать URL-адрес каждого отдельного элемента в ленте.В фиде JSON похоже, что статическая фотография находится в item.media.m, что указывает на фотографию среднего размера.Если доступны более крупные размеры, к ним также можно получить доступ.

Таким образом, вы можете изменить свой код так:

$.each(data.items, function(i,item){
        $("<img/>").attr("src", item.media.m).appendTo("#images").wrap("<a href='" + item.media.m + "'>  </a>");



        if ( i == 20 ) return false;
      });
...