JFeed 支持 RSS 图像吗?

发布于 2024-08-26 22:19:32 字数 185 浏览 10 评论 0原文

我看过 JFeed 的自述文件,但它没有提到获取 RSS 项目的图像:

JFeedItem 属性

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

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

I've had a look at JFeed's readme and it doesn't mention anyway to get to an RSS item's image:

JFeedItem properties

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

Does anyone know a way to parse these images?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟凡古楼 2024-09-02 22:19:32

简短回答“”。

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

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

我累了,正在制作此内容当我继续说的时候,你能看出来吗? ;)

Short answer "No".

There is no default jFeed support for "image" access for RSS (or "icon"/"logo" access for ATOM).

That said you could always extend the library to support feed images. For example in jrss.js you could add:

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();

From an RSS feed you would then be able to access:

feed.image.url

But this only facilitates accessing the graphic for the entire feed and not individual items.

To support individual item images you would need to extend jFeed to allow it to support attributes in some way.

For example to support RSS 2.0 enclosures you could fold the attributes into elements, so you would be able to access something like:

item.enclosure.url

In jrss.js you could add something like:

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);
});

I'm tired and making this up as I go along, can you tell? ;)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文