JFeed是否支持RSS图像?

时间:2010-03-30 10:53:52

标签: jquery rss jfeed

我已经看过JFeed的自述文件了,但无论如何都没有提到RSS项目的图像:

JFeedItem属性

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

有没有人知道解析这些图像的方法?

1 个答案:

答案 0 :(得分:3)

简短回答“”。

对于RSS的“图像”访问(或ATOM的“图标”/“徽标”访问)没有默认jFeed支持。

那说你总是可以扩展库来支持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.image.url

但这仅便于访问整个Feed的图形,而不是单个项目。

要支持单个项目图像,您需要扩展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);
});

我很累,并且在我走的时候这样做,你能说出来吗? ;)