1

JFeed の readme を見たことがありますが、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 に答える