Google AJAX Feed APIでRSS複数表示(メモ)
head
<script type="text/javascript"
src="http://www.google.com/jsapi?key=APIキー"></script>
<script type="text/javascript" src="feed.js"></script>
feed.js
var limit = 7 * 24 * 60 * 60 * 1000; //7日
google.load("feeds", "1");
function initialize() {
var now = (new Date()).getTime();
var container = document.getElementById("feed");
container.innerHTML = '';
var feedurl = new Array("URL" "URL" "URL"); //RSSのURL(複数可)
for (n = 0; n < feedurl.length;n++ ) {
var feed = new google.feeds.Feed(feedurl[n]);
feed.setNumEntries(5); //記事を5件表示
feed.load(function(result) {
if (!result.error) {
html ="<h2><a href='" + result.feed.link + "'>"+result.feed.title+"<\/a><\/h2><dl>"; //タイトル
for (i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var entdate = new Date(entry.publishedDate).getTime();
var newmark = '';
if (now >= entdate && now <= (entdate + limit)) {
newmark = '<span style="color:red;">new!<\/span>';
//「NEWマーク」のタグ
}
html += "<dt><a href='"+entry.link+"' target='_blank'>"+entry.title+"<\/a> ["+changeDate(entry.publishedDate)+"] "+newmark+"<\/dt>";
//記事タイトル [日付] 7日以内の記事ならNEWマーク
html += "<dd>"+entry.contentSnippet+"<\/dd>"; //記事の概要
}
html += "<\/dl>";
container.innerHTML += html;
}
});
}
}
//日付表示変更
function changeDate(str){
var myDate=new Date(str);
var YY=myDate.getFullYear();
var MM=myDate.getMonth()+1;
if(MM<10){MM="0"+MM;}
var DD=myDate.getDate();
if(DD<10){DD="0"+DD;}
var date=YY+"."+MM+"."+DD;
return date;
}
google.setOnLoadCallback(initialize);
HTML
<div id="feed">Loading...</div>
記事の文字数調整
"+entry.contentSnippet+"
↓
"+entry.contentSnippet.substr(0,10)+"
記事の概要の0文字目から10文字目までを表示。
Googleドキュメント