Posted by at 2009年6月11日 木曜日

@pureminami's tweetみなみさんが静的ページに WordPress の新着記事一覧を表示する方法を急募していた。
これを実現するために JavaScript で RSS フィードを取得して表示する方法を調べたので、自分用にメモ。
使用するのは Google AJAX Feed API
Google AJAX Feed API を使用するには、APIキーが必要。
Google Map を利用する際に取得した API キーがあれば使えるが、無ければGoogle AJAX Feed API への登録をしておこう。

まずは、Google API のロード。
<head>内に以下の記述を追加して、Google API をロードしよう。
※ YOUR_KEY_HERE には取得しておいたGoogle AJX Feed API のキーをセットする。

<script type="text/javascript" src="http://www.google.com/jsapi?key=YOUR_KEY_HERE"></script>

次に実際にRSSフィードの内容を表示するための JavaScript。こんな感じ。

google.load("feeds", "1");
google.setOnLoadCallback(function() {
	var feed = new google.feeds.Feed("http://example.com/feed");
	feed.setNumEntries(5);
	feed.load(function(result) {
		if (!result.error) {
			var ul = document.createElement("ul");
			for (var i = 0; i < result.feed.entries.length; i++) {
				var entry = result.feed.entries[i];
				var li = document.createElement("li");
				var a  = document.createElement("a");
				a.setAttribute("title", entry.title);
				a.setAttribute("href",  entry.link);
				a.appendChild(document.createTextNode(entry.title));
				li.appendChild(a);
				ul.appendChild(li);
			}
			var container = document.getElementById("archives");
			container.appendChild(ul);
		}
	});
});

3行目の http://example.com/feed は、読み込みたいRSSフィードのURL。
4行目の feed.setNumEntries(5); は、デフォルトでは4件しか取得しないため、5件取得するためには feed.setNumEntries() に数値をセットしましょう。

これで、id="archives" な要素の子要素として、RSSフィード一覧がセットされている <ul> 要素が追加表示されます。

トラックバック & ピンバック » 表示する

コメント

  • twitter 2010年6月8日 火曜日 3:49 PM

    ぶくま→ Google AJAX Feed API : dogmap.jp http://bit.ly/abmHTp

  • hatena bookmark 2010年1月19日 火曜日 1:41 AM

    WordPressでRSS

  • hatena bookmark 2009年10月27日 火曜日 9:05 PM

    wordpress

コメントする

入力いただいたメールアドレスから Gravatar に登録されているアイコンを表示します。
(メールアドレスは公開されません)

改行と段落タグは自動で挿入されます。メールアドレスは表示されません。

:mrgreen: :-P :-D :-) ;-) :-o :-| :-( 8-O :-? 8-) :twisted: :evil: :oops: :roll: :cry: :lol: :-x more »