別ページの新着RSSフィードをGoogle AJAX Feed APIで取得しトップページに新着タイトルを表示させタイトルに一定期間new表示をさせる
別ページの新着RSSフィードをGoogle AJAX Feed APIで取得しトップページに新着タイトルを表示させる。
そして、このタイトルに一定期間new表示させるスクリプトの覚書。
<body>
<p>
<h3>記事一覧</h3>
<div id="container">Loading...</div>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("feeds","1");
google.setOnLoadCallback(function(){
(function(container,url){
var feed = new google.feeds.Feed(url);
feed.setNumEntries(10);
feed.setResultFormat(google.feeds.Feed.JSON_FORMAT);
feed.load(function(result){
if(result.status.code=="200"){
while(container.hasChildNodes())
container.removeChild(container.firstChild);
var ul = document.createElement("ul");
ul.style.listStyleType = 'none';
for(var i=0;i<result.feed.entries.length;i++){
var d = new Date(result.feed.entries[i].publishedDate);
var today = new Date();
var li = document.createElement("li");
var a = document.createElement("a");
a.href = result.feed.entries[i].link;
a.appendChild(document.createTextNode(result.feed.entries[i].title));
li.appendChild(a);
li.appendChild(document.createTextNode(
"("+ (d.getFullYear()-2000)+"/"+(d.getMonth()+1)+"/"+d.getDate()+")"
));
var newspan= document.createElement("span");
newspan.appendChild(document.createTextNode(' New!'));
newspan.style.color="red",newspan.style.fontWeight = "bold";
if((today.getTime()-d.getTime()) < 3*24*3600*1000) //←何日間表示したいか指定
li.appendChild(newspan);
li.normalize();
ul.appendChild(li);
}
container.appendChild(ul);
}
});
})(document.getElementById("container"),
"http://******.com/rss15.xml"); //←表示させるRSS
});
</script>
</p>
</body>今回の場合はul等をcssで管理しているのでその箇所は削除しています。
某サイトに質問して某氏が教えて下さいました。
有難うございました<(_ _)>