2010-03-30 86 views
1

我看了一下JFeed的自述,它並沒有提到反正去的RSS項目的形象:JFeed是否支持RSS圖像?

JFeedItem性能

* item.title 
* item.link 
* item.description 
* item.updated 
* item.id 

有誰知道一種方法來分析這些圖像?

回答

3

簡短回答「」。

沒有默認jFeed支持RSS(或「圖標」/「徽標」訪問ATOM的「圖像」訪問)。

這就是說你總是可以擴展庫來支持feed圖像。例如,在jrss.js您可以添加:

var image = jQuery('image', xml).eq(0); 

this.image = new Object(); 
this.image.url = jQuery(image).find('url:first').text(); 
this.image.title = jQuery(image).find('title:first').text(); 
this.image.link = jQuery(image).find('link:first').text(); 

從一個RSS feed,那麼你將能夠訪問:

feed.image.url 

但這只是便於訪問整個飼料圖形和而不是個別項目。

要支持單個項目圖像,您需要擴展jFeed以允許它以某種方式支持屬性。

例如支持RSS 2.0的外殼,你可以摺疊的屬性轉換成元素,這樣你就能夠訪問是這樣的:

item.enclosure.url 

jrss.js您可以添加類似:

jQuery('item', xml).each(function() { 

    var item = new JFeedItem(); 

    item.title = jQuery(this).find('title').eq(0).text(); 
    item.link = jQuery(this).find('link').eq(0).text(); 
    item.description = jQuery(this).find('description').eq(0).text(); 
    item.updated = jQuery(this).find('pubDate').eq(0).text(); 
    item.id = jQuery(this).find('guid').eq(0).text(); 

    item.enclosure = new Object(); 

    var enc = jQuery(this).find('enclosure'); 

    item.enclosure.url = jQuery(enc).attr('url'); 
    item.enclosure.length = jQuery(enc).attr('length'); 
    item.enclosure.type = jQuery(enc).attr('type'); 

    feed.items.push(item); 
}); 

我厭倦了,隨着我走,你能說出來嗎? ;)

+0

這一切都有道理 - 我有一個裂縫,但似乎無法訪問項目的縮略圖元素。 RSS片段: <媒體:縮略圖寬度= 「66」 HEIGHT = 「49」 URL = 「HTTP://url/something.jpg」> jfeeditem.js: 功能JFeedItem( ){}; JFeedItem.prototype = { 標題: '', 鏈路: '', 描述: '', 更新: '', ID: '', thumbnailurl: '' }; jrss.js: ... item.id = jQuery(this).find('guid')。eq(0).text(); \t \t \t item.thumbnailurl = jQuery(this).find('media:thumbnail')。attr('url'); thumbnail屬性保持未定義,我似乎無法匹配它。 – 2010-03-30 16:03:23

+0

好的,你的問題看起來與命名空間有關。嘗試這裏建議的解決方法之一: http://stackoverflow.com/questions/128580/jquery-find-problem – 2010-03-30 16:32:24

+0

超級容易實現,順便說一句 - 我有點不習慣深入插件定製,所以很高興看到這款產品足夠簡單,可以快速添加少量零件。 – 2010-10-08 13:31:15