我有一个我在Yahoo Pipes中创建的RSS源。你可以view it here。
然而,当通过Google Feed的API查看时,pubDate将显示为未定义(为避免疑问,我还尝试使用PubDate格式化格式)。
这是我用过的代码:
<div class="clear" id="feed">
</div>
<script type="text/javascript">
var feedcontainer=document.getElementById("feed")
var feedurl="http://pipes.yahoo.com/pipes/pipe.run?_id=f0eb054e3a4f8acff6d4fc28eda5ae32&_render=rss"
var feedlimit=5
var rssoutput="<h3>Business and Tax News</h3><ul>"
function rssfeedsetup(){
var feedpointer=new google.feeds.Feed(feedurl)
feedpointer.setNumEntries(feedlimit)
feedpointer.load(displayfeed)
}
function displayfeed(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 + " (" + thefeeds[i].pubDate +")</a></li>"
rssoutput+="</ul>"
feedcontainer.innerHTML=rssoutput
}
else
alert("Error fetching feeds!")
}
window.onload=function(){
rssfeedsetup()
}
</script>
......这里是example page。
我已经做了一些谷歌搜索,并发现雅虎管道输出PubDate的方式似乎有一些记录的问题。我已尝试按照问题Can't get pubDate to output in Yahoo! Pipes?中的说明操作(生成的管道为here),但似乎没有任何区别。
如何从Yahoo Pipes RSS Feed在Google Feed上输出正确的PubDate?这甚至可能吗?
答案 0 :(得分:2)
简单地改变:
thefeeds[i].pubDate
为:
thefeeds[i].publishedDate
我在 Google Code Playground 上测试了这个:
OnLoad
中,将网址更改为Yahoo Pipes链接在feedLoaded
的主循环中,将中间部分编辑为:
div.appendChild(document.createTextNode(entry.title));
div.appendChild(document.createTextNode(entry.publishedDate));
console.log(entry);
特别是在JavaScript控制台中,您可以看到entry
对象具有publishedDate
属性而不是pubDate
。
它可以在操场上运行,它也可以在你的网站上运行,我希望。