2011-11-26 33 views
0

我连接到flickr供稿并在我的页面上显示图像。JSon 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

您想要在feed中查找静态图像服务器的url,该url似乎位于url属性的<media:content>字段中。
<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; 
     }); 
+0

我哪里会将此代码添加到? url属性中的字段。 Satch3000

+0

它不是javascript代码,它是rss feed中的xml。您将不得不像现在这样使用jQuery来查询img src属性。 –

+0

好吧,我注意到在你更新的例子中你得到了JSON提要。我会更新。 –