1

RSS フィードと WinJS を使用して、Windows 8 用の 9GAG リーダー アプリを作成しています。

コード:

function downloadBlogFeed() {
    WinJS.xhr({ url: "http://feeds.feedburner.com/9GAG" }).then(function (rss) {
        var items = rss.responseXML.querySelectorAll("item");

        for (var n = 0; n < items.length; n++) {
            var article = {};
            article.title = items[n].querySelector("title").textContent;
            var thumbs = items[n].querySelectorAll("thumbnail");
            if (thumbs.length > 1) {
                article.thumbnail = thumbs[1].attributes.getNamedItem("url").textContent;
                article.content = items[n].textContent;
                articlesList.push(article);
            }
        }
    });
}

問題は、FeedBurner から 9GAG フィードを取得できないことです。次のエラーが表示されます。

Can't load http://feeds.feedburner.com/~d/styles/itemcontent.css. An app can’t load remote web content in the local context.

私も変えてみました

WinJS.xhr({ url: "http://feeds.feedburner.com/9GAG" })

WinJS.xhr({ url: "http://9gag.com/?feed=rss" })

しかし、私はこのエラーが発生します:

Exception is about to be caught by JavaScript library code at line 50, column 13 in ms-appx://7df7a30e-2f19-4f36-b368-c456fde8aabd/js/default.js
0x800a138f - JavaScript runtime error: Unable to get property 'querySelectorAll' of undefined or null reference
File: default.js

そしてそれはこの行を指しています:

var items = rss.responseXML.querySelectorAll("item");

助けてください、正しくしてください。

ありがとうございました !

4

2 に答える 2

1

どうぞ:

残念ながら、画像を取得するためのハッキングがいくつかありますが、残念ながらそれは機能します。これは、サードパーティの RSS フィードでの生活です。

WinJS.xhr({ url: "http://feeds.feedburner.com/9GAG", responseType: 'responseXML' }).then(function (rss) {
    var items = rss.responseXML.querySelectorAll("item");

    for (var n = 0; n < items.length; n++) {
        var article = {};
        article.title = items[n].querySelector("title").textContent;
        var imageStart = items[n].textContent.indexOf('<img src="') + 11;
        var imageEnd = items[n].textContent.indexOf('"', imageStart);

        article.thumbnail = items[n].textContent.substring(imageStart, imageEnd);
        article.content = items[n].textContent;
        articlesList.push(article);
    }
});
于 2012-11-21T21:08:03.737 に答える
1

9GAG RSS フィードは現在死んでいます。http://9gagrss.com/のようなミラーを使用してみてください。

于 2013-04-15T16:49:12.057 に答える