サイト制作に関するメモ書き

HOME > JavaScript > jQuery > TumblrのRSSを取得してみる

TumblrのRSSを取得してみる

TumblrのRSSを取得してみます。
クロスドメインになるので、以前紹介したphpを使った方法を使用します。

サンプルコード

HTML

<div id="sample"></div>

JavaScript

// 日付の変換
var weeks = ['日', '月', '火', '水', '木', '金', '土'];
function dateFormat(date) {
	var dateStr = new Date(date);
	var year = dateStr.getFullYear();
	var month = dateStr.getMonth() + 1;
	var day = dateStr.getDate();
	var week = dateStr.getDay();
	var hour = dateStr.getHours();
	var minute = dateStr.getMinutes();
	var second = dateStr.getSeconds();
	return year + '/' + month + '/' + day + '(' + weeks[week] + ') ' + hour + ':' + minute + ':' + second;
}

$(function() {
	$.ajax({
		url: 'get.php',
		dataType: 'xml',
		success: function(data) {
			// 取得件数
			var getCount = 5;
			if ($('item', data).length < getCount) {
				getCount = $('item', data).length;
			};

			var insert = '';
			insert += '<h1>';
			// リンク先の挿入
			insert += '<a href="' + $('channel', data).children('link').text() + '">';
			// タイトルの挿入
			insert += $('channel', data).children('title').text();
			insert += '</a>';
			insert += '</h1>';

			insert += '<ul>';
			for (var i = 0; i < getCount; i++) {
				var thisItem = $('channel', data).children('item').eq(i);
				insert += '<li>';

				// 日時の挿入
				insert += '<p class="pubDate">';
				insert += dateFormat(thisItem.children('pubDate').text());
				insert += '</p>';

				// タイトルの挿入
				insert += '<p class="title">';
				insert += thisItem.children('title').text();
				insert += '</p>';

				// 本文の挿入
				insert += '<div class="description">';
				insert += thisItem.children('description').text();
				insert += '</div>';

				// リンク先の挿入
				insert += '<a href="' + thisItem.children('link').text() + '">詳細はコチラ</a>';

				// カテゴリーの挿入
				insert += '<p class="category">' + thisItem.children('category').text() + '</p>';

				insert += '</li>';
			};
			insert += '</ul>';

			$('#sample').append(insert);
			// titleとdescriptionで同じテキストが表示されるので、description内のテキスト削除。
			$('#sample .description p').remove();
		}
	});
});
title 記事のタイトル。
画像投稿などのタイトルがない投稿タイプはdescriptionのテキストが表示される?
description HTMLを含むフリー入力部分が表示される。
画像投稿タイプなどの場合、画像もここに表示される。
link 記事の詳細ページへのリンクURLが表示される。
guid linkと同じく、記事の詳細ページへのリンクURLが表示される。
linkとの違いは不明。
pubDate 投稿日時が表示される。
category タグが表示される。複数付けた場合はその個数分categoryが出力される。

TumblrのRSSを取得してみるデモページ
 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

▲PAGE TOP