この記事は 2018年12月12日 に投稿されました。
内容が古いかもしれません。ご注意ください。
※最後に更新されたのは 2019年2月5日 です。
内容が古いかもしれません。ご注意ください。
※最後に更新されたのは 2019年2月5日 です。
下記のブログを参考に(2015年の記事だけど使えました)BloggerのRSSを持ってくる作業をした時のことを覚書
オンズ開発ブログ
Javascriptの方の処理で最終的にデータを成形して指定要素にアウトプットする処理があるんですが(下記)
for (i in data) {
output.find('ul').append('<li><a href="' + data[i].link.text + '">' + data[i].title.text + '</a>' + data[i].description.text + '</li>');
// console.log (data[i]);
}
そのままだとdata内にRSSで配信されている分全部入ってしまって多かったので5件に絞るためfor文の条件を変更。
for ( i = 0; i < 5; i++ ) {
var date = new Date(data[i].pubDate.text);
var strdate = date.getFullYear() + '/' + (date.getMonth() + 1) + '/' + ("0"+date.getDate()).slice(-2);
output.find('ul').append('<li class="p-posts--general__item"><a href="' + data[i].link.text + '"><span class="p-posts--general__item__date">' + strdate + '</span><span class="p-posts--general__item__title">' + data[i].title.text + '</span></a>' + '</li>');
//console.log (data[i]);
}
ただこのままだと記事が2件しか無い時に3回目の処理から「data[i]がundefinedで‘pubDate’が読めない」というエラーが出たので、条件を付加
for ( i = 0; i < 5; i++ ) {
if( typeof data[i] !== 'undefined' ){
var date = new Date(data[i].pubDate.text);
var strdate = date.getFullYear() + '/' + (date.getMonth() + 1) + '/' + ("0"+date.getDate()).slice(-2);
output.find('ul').append('<li class="p-posts--general__item"><a href="' + data[i].link.text + '"><span class="p-posts--general__item__date">' + strdate + '</span><span class="p-posts--general__item__title">' + data[i].title.text + '</span></a>' + '</li>');
} else {
}
//console.log (data[i]);
}
typeofとか普段使わない程度の処理しかしないので詰まってしまった、、、ていうかGutenbergシングルクォーテーション打てなかったらコードメモれないじゃん、、、なんなの、、
[2019/01/24 追記]
シングルクォーテーションのバグ治ってました!やったぜ