我正在尝试通过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>
有谁知道是否有可能以这种方式获取内容,或者我是否接近这个完全错误?谢谢!
答案 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无法正常工作。我现在就去标题和链接 - 谢谢!