使用jQuery解析RSS提要,在firefox和chrome中遇到麻烦

时间:2010-03-14 16:55:23

标签: jquery xml rss jfeed

我使用了一个名为jFeed的jQuery库来解析并在我的个人网站上显示我的博客rss feed。它起初工作得很好,但是稍后检查它什么都不显示,除了在Internet Explorer中,它似乎工作正常。

在Firefox中使用Firebug检查javascript控制台后,它在“XML”标签中显示错误,如下所示:

  

XML解析错误:未找到任何元素位置:moz-nullprincipal:{3f8a0c62-32b4-4f63-b69c- 9ef402b40b64}第1行,第1列:   ^

虽然我不知道如何处理这些信息。这是我用来获取rss feed并显示它的代码(它几乎与jFeed网站提供的示例完全相同):

  

jQuery.getFeed({           网址:'http://sammarshalldesign.co.uk/blog/wordpress/?feed=rss2',           成功:功能(饲料){

        var html = '';

        for(var i = 0; i < feed.items.length && i < 5; i++) {

            var item = feed.items[i];

            html += '<h3>'
            + '<a href="'
            + item.link
            + '">'
            + item.title
            + '</a>'
            + '</h3>';


            html += '<div>'
            + item.description
            + '</div>';
        }//end for

        jQuery('#feed').append(html);
    }//end feed function    
});//end getfeed

任何帮助都会非常感激。

3 个答案:

答案 0 :(得分:1)

作为替代方案,Google确实提供了feed api。看看这个Google Feed Plugin使得整个过程非常简单(不需要php)。

答案 1 :(得分:0)

您是否尝试从其他域加载RSS源?如果是这样,它将无法正常工作。 jFeed带有一个示例PHP代理,您可以将其放在服务器上并进行调用。或者,您可以使用Yahoo!管道以JSON格式获取数据。

答案 2 :(得分:0)

我发现这很困难,但与Internet Explorer不同,Firefox不允许跨域XML请求,如果没有您正在使用的服务器进行某种身份验证,则需要使用JSON(与您可以在jQuery中执行跨站点/跨域请求,或者在本地为您的XML提要创建某种代理,然后使用您的jQuery请求点击它。