1

我已经查看了 JFeed 的自述文件,但它并没有提到获取 RSS 项目的图像:

JFeedItem 属性

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

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

4

1 回答 1

3

简短回答“”。

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

也就是说,您始终可以扩展库以支持提要图像。例如在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

但这仅有助于访问整个提要的图形,而不是单个项目。

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

我累了,边走边编,你能告诉我吗?;)

于 2010-03-30T14:28:14.320 回答