1

我正在尝试通过 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>

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

4

2 回答 2

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 之上。

于 2013-08-06T16:35:59.683 回答
0

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

于 2013-08-14T15:57:43.583 回答