Google Feed APIの表示について
複数ブログの新着RSSを、自分のHPに表示させたいと考えております。
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("feeds", "1");
var getRssFeed = function (_id, _urls, _length) {
if(!_id || !_urls || (!(_urls instanceof Array))) return;
//変数
var entriesArray = new Array();
var complete = 0;
//読み込み
var init = function () { for (var e = 0; e < _urls.length; e++) getFeed(_urls[e], e)
};
function getFeed(_url, _num) {
var feed = new google.feeds.Feed(_url);
if(_length) feed.setNumEntries(_length);
feed.load(function(result) {
if (!result.error) {
html = '<h2>' + result.feed.title + '</h2>';
html += '<ul>';
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var pdate = new Date(entry.publishedDate);
var Y = pdate.getFullYear();
var m = pdate.getMonth() + 1;
m = (m < 10)? '0' + m:m;//月数字を2桁に
var d = pdate.getDate();
d = (d < 10)? '0' + d:d;//日数字を2桁に
var date = Y + '/' + m + '/' + d;
html += '<li>'+ date +' <a href="' + entry.link + '" target="_blank">' + entry.title + '</a>';
html += '</li>';
}
html += '</ul>';
entriesArray[_num] = html;
complete++;
if(complete == _urls.length){
echo();
}
}
});
};
//出力
var echo = function () {
var container = document.getElementById(_id);
for (var e = 0; e < _urls.length; e++) container.innerHTML += entriesArray[e];
};
google.setOnLoadCallback(init);
};
getRssFeed("feed", [
'RSS1',
'RSS2',
'RSS3',
'RSS4'
], 3);
getRssFeed("feed", [
'RSS5',
'RSS6',
'RSS7',
], 3);
</script>
<body>
<div id="feed"></div>
</body>
現在、上記のようになっておりますが、後半の
getRssFeed("feed", [
'RSS1',
'RSS2',
'RSS3',
'RSS4'
], 3);
が、Feedが4つまでではないと何も表示されなくなってしまうので
Feed4つ区切りのものを複数書いている状態ですが、リロードをするたびに
RSS5~7のブロックが上にきたりと、表示順序が変わってしまいます。
リロードしても表示順序はRSS1~4、その下にRSS5~7のように
きちんと固定したいのですが、これは可能でしょうか?
Javascriptについては完全に初心者です。
お手数おかけしますがご回答をお願いします。
ここまでの内容は
http://indigonote.com/2011/06/16/google-feed-api-customize/
上記サイト様を参考にさせていただきました。
お礼
やった~ ありがとうございます。 http:|https: は入れてはみたのですが ) が足りなかったようです。 両方表示されるようになりました。 ここ二日のもやもやが吹き飛びました、感謝感激です。 又の機会がありましたらよろしくお願いします。