Blogger来自网站上的RSS

时间:2013-08-06 16:23:39

标签: javascript rss blogger

我正在尝试通过RSS / JavaScript在我的网站上显示博客的帖子。我可以成功获得标题并链接到帖子,但是当我尝试获取实际的帖子内容时,没有其他内容会显示。我觉得自己错过了一些简单的事情,虽然在过去两天阅读谷歌的API文档之后,我似乎无法弄明白。

这是我正在使用的脚本:

<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>

有谁知道是否有可能以这种方式获取内容,或者我是否接近这个完全错误?谢谢!

2 个答案:

答案 0 :(得分: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上方。

答案 1 :(得分:0)

进一步挖掘后,Google Feed API和Blogger似乎无法将所有信息传递给它。在调试和查看原始RSS时,我可以看到内容,但在查看脚本返回的内容时,它是空的。上面的代码正在按照Wordpress的RSS提要工作,它只是Blogger无法正常工作。我现在就去标题和链接 - 谢谢!