そこで,自前でサーバを用意する必要のないGoogle AJAX Feed APIを利用すれば,クロスドメイン制約を回避することが可能となります.
※商用利用等では問題はありますが...
Google AJAX Feed API登録画面
http://code.google.com/intl/ja/apis/ajaxfeeds/signup.html
Now Loading ... |
javascript
<script type="text/javascript" src="http://www.google.com/jsapi?key=(APIキー)"></script> <script type="text/javascript"> google.load("feeds", "1"); function initialize() { var feed = new google.feeds.Feed("http://www.kccollege.ac.jp/news/feed.xml"); feed.setNumEntries(5); feed.load(function(result) { var html; // 読み込みに成功したときの処理 if (!result.error) { // サイトのタイトルを出力 html = '<h1> <a href="' + result.feed.link + '">' + result.feed.title + '</a></h1>'; // 各記事の情報を順に出力 if (result.feed.entries.length) { html += '<ul>'; for (var i = 0; i < result.feed.entries.length; i++) { // 各記事のタイトルと概要を出力 var entry = result.feed.entries[i]; html += '<li><a href="' + entry.link + '">' + entry.title + '</a>'; html += '<span class="content">' + entry.contentSnippet + '</span></li>'; } html += '</ul>'; } } // 読み込みエラー時の処理 else { html = '<p>Error</p>'; } // 読み込み結果を、idが「feed」の要素に流し込む var container = document.getElementById("feed"); container.innerHTML = html; }); } google.setOnLoadCallback(initialize); </script> <div id="feed"><p>Now Loading ...</p></div>
ちなみに,Google AJAX Feed APIはJavascriptからだけではなく,URLに引数を付ける形で利用することも出来ます.
以下は,XML形式で10件のデータを取得する場合の例になります.
http://ajax.googleapis.com/ajax/services/feed/load?q=http%3A%2F%2Fwww.kccollege.ac.jp%2Fnews%2Ffeed.xml&v=1.0&num=10&output=xml
0 件のコメント:
コメントを投稿