2013-08-06 53 views
1

我试图从博客中获取帖子,以通过RSS/JavaScript在我的网站上显示。我可以成功获取标题并链接到要发布的帖子,但是当我尝试获取实际帖子内容时,没有其他内容会显示。我觉得我错过了一些简单的东西,尽管在过去两天通过Google的API文档阅读后,我似乎无法弄清楚。从网站上的RSS提供的RSS源

这里是脚本我使用:

<script type="text/javascript" src="http://www.google.com/jsapi"></script> 
<script type="text/javascript"> 
    google.load("feeds", "1"); 

    var feedContainer=document.getElementById("blog-feed") 
    var feedURL="http://MYBLOGTITLE.blogspot.com/feeds/posts/default?alt=rss" 
    var postsReturned=2 
    var rssoutput="<ul>" 

    function rssFeedSetup(){ 
    var pullFeed=new google.feeds.Feed(feedURL) 
    pullFeed.setNumEntries(postsReturned) 
    pullFeed.load(showFeed) 
    } 

    function showFeed(result){ 
    if (!result.error){ 
     var thefeeds=result.feed.entries 
     for (var i=0; i<thefeeds.length; i++) 
     rssoutput+="<li><a href='" + thefeeds[i].link + "'>" + thefeeds[i].title + "</a>" + thefeeds[i].content +"</li>" 
     rssoutput+="</ul>" 
     feedContainer.innerHTML=rssoutput 
    } 
    else 
     alert("There was an error loading the blog posts.") 
    } 

    window.onload=function(){ 
    rssFeedSetup() 
    } 
</script> 

有谁知道,如果有可能获取内容这样,还是我处理这个完全错误的?谢谢!

+0

您从中拉取的博客的实际网址是什么?该博客是否有任何帖子? –

+0

你是否在for循环中删除了一个断点以查看'feededs [i]'中的内容? – miah

回答

1

为了清楚起见,你应该在你的for循环的括号:

for (var i=0; i<thefeeds.length; i++) { 
    rssoutput+="<li><a href='" + thefeeds[i].link + "'>" + thefeeds[i].title + "</a>" + thefeeds[i].content +"</li>" 
} 

我不知道这是否是引起您的问题或没有。没有方括号,您可能会遇到一些浏览器兼容性问题。

你还应该在每个语句的末尾加上分号。

我设法通过将博客URL更改为活动的Blogspot博客来使您的代码正常工作。我不得不添加

<div id="blog-feed"></div> 

您的JavaScript上面。

+0

经过进一步挖掘,Google Feed API和Blogger未向其传递所有信息似乎存在问题。在调试和查看原始RSS时,我可以看到内容,但在查看脚本返回的内容时,它是空的。上面的代码正在按照Wordpress的RSS提要进行工作,它只是Blogger不工作。我现在就去看看标题和链接 - 谢谢! – Chad

0

经过进一步挖掘,看起来这是Google Feed API和Blogger未将所有信息传递给它的问题。在调试和查看原始RSS时,我可以看到内容,但在查看脚本返回的内容时,它是空的。上面的代码正在为Wordpress的RSS提要工作,它只是Blogger不工作。我现在就去看看标题和链接 - 谢谢!