3

我有一个在 Yahoo Pipes 中创建的 RSS 提要。你可以在这里查看

然而,当通过 Google Feed 的 API 查看它时,pubDate 显示为未定义(为避免疑问,我还尝试使用 PubDate 的情况对其进行格式化)。

这是我使用的代码:

<div class="clear" id="feed">
    &nbsp;</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>

...这里是一个示例页面

我已经对此进行了一些谷歌搜索,并发现 Yahoo Pipes 输出 PubDate 的方式似乎存在一些记录问题。我已经尝试按照问题Can't get pubDate to output in Yahoo!中的说明进行操作!管道?(生成的管道在这里),但它似乎没有任何区别。

如何从 Yahoo Pipes RSS 提要在 Google 提要上输出正确的 PubDate?这甚至可能吗?

4

1 回答 1

2

简单地改变:

thefeeds[i].pubDate

至:

thefeeds[i].publishedDate

我在Google Code Playground上对此进行了测试:

  • https://code.google.com/apis/ajax/playground/#load_feed
  • OnLoad中,将 URL 更改为您的 Yahoo Pipes 链接
  • 在主循环中feedLoaded,将中间部分编辑为:

    div.appendChild(document.createTextNode(entry.title));
    div.appendChild(document.createTextNode(entry.publishedDate));
    console.log(entry);
    

特别是在 JavaScript 控制台中,您可以看到该entry对象有一个publishedDate属性,而不是pubDate.

它适用于操场,它也应该适用于您的网站,我希望。

于 2013-10-18T06:37:48.907 回答