Google Feed API (7/8)
作成:2011-06-08 08:29
更新:2011-06-08 08:37
更新:2011-06-08 08:37
■ダイナミックフィードコントロール
このフィードコントロールは、ロードしたときにフィードを読み込み表示するというもので、非常に静的なコントロールでした。が、この他にもコントロールは用意されています。
例えば、下のリスト欄にあるサンプルでは、取得したエントリーを次々と一定時間ごとに一番上のエリアに表示していきます。
ここで利用しているのは、「ダイナミックフィードコントロール」と呼ばれるものです。これは、Feed APIには含まれていません。スクリプトとスタイルシートを別途読み込むようにしなければいけません。
では、OnLoad関数を見てみましょう。まず、読み込むフィードに関する情報を配列にまとめたものを用意します。
例えば、下のリスト欄にあるサンプルでは、取得したエントリーを次々と一定時間ごとに一番上のエリアに表示していきます。
ここで利用しているのは、「ダイナミックフィードコントロール」と呼ばれるものです。これは、Feed APIには含まれていません。スクリプトとスタイルシートを別途読み込むようにしなければいけません。
<script src="http://www.google.com/uds/solutions/dynamicfeed/これがそのためのタグです。これで、コントロールが使えるようになります。――コントロールの使い方は、非常に単純です。用意されているオブジェクトをnewで作成するだけです。ただし、読み込むフィードや表示スタイル、表示するタグのIDなどの情報を引数に用意してやらなければいけません。
gfdynamicfeedcontrol.js" type="text/javascript"></script>
<style type="text/css">
@import url("http://www.google.com/uds/solutions/dynamicfeed/
gfdynamicfeedcontrol.css");
</style>
では、OnLoad関数を見てみましょう。まず、読み込むフィードに関する情報を配列にまとめたものを用意します。
var feeds = [フィード情報は、「title」「url」といった項目からなる連想配列を配列にまとめた形をしています。続いて、コントロールの設定に関する情報を用意します。
{
title: 'Google',
url: "http://news.google.com/news?hl=ja&ned=us&ie=UTF-8&oe=UTF-8&
output=atom&q=Google"
},
{
title: 'Android',
url: "http://news.google.com/news?hl=ja&ned=us&ie=UTF-8&oe=UTF-8&
output=atom&q=Android"
},
{
title: 'iPhone',
url: "http://news.google.com/news?hl=ja&ned=us&ie=UTF-8&oe=UTF-8&
output=atom&q=iPhone"
}
];
var options = {こちらは、連想配列として用意をしておきます。stackedは、各フィードの新着をスタック(積み重ね)して表示するかどうかを示すものです。falseにすると、複数のフィードからまとめて一番新しいものをいくつか読み込み表示します。horizontalは水平(横)方向にエントリーを表示するかどうかを示すものです。titleは、コントロールのタイトルになります。――こうして必要な情報を用意したら、コントロールのオブジェクトを作成します。
stacked : true,
horizontal : false,
title : "Google News"
};
new GFdynamicFeedControl(feeds, 'container', options);コントロールは、GFdynamicFeedControlというオブジェクトとして用意されています。引数には、先ほど用意したフィード情報、コントロールを表示するタグのID、コントロールの設定情報といったものを用意します。newしてオブジェクトを作ったら、後は何も操作する必要はありません。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sample</title> <style> h1 {font-size: 14pt; font-weight:bold; background-color:#DDF; padding:3px;} </style> <script src="http://www.google.com/jsapi"></script> <script src="http://www.google.com/uds/solutions/dynamicfeed/gfdynamicfeedcontrol.js" type="text/javascript"></script> <style type="text/css"> @import url("http://www.google.com/uds/solutions/dynamicfeed/gfdynamicfeedcontrol.css"); </style> <script type="text/javascript"> google.load("feeds", "1",{"callback":OnLoad}); function OnLoad() { var feeds = [ { title: 'Google', url: "http://news.google.com/news?hl=ja&ned=us&ie=UTF-8&oe=UTF-8&output=atom&q=Google" }, { title: 'Android', url: "http://news.google.com/news?hl=ja&ned=us&ie=UTF-8&oe=UTF-8&output=atom&q=Android" }, { title: 'iPhone', url: "http://news.google.com/news?hl=ja&ned=us&ie=UTF-8&oe=UTF-8&output=atom&q=iPhone" } ]; var options = { stacked : true, horizontal : false, title : "Google News" }; new GFdynamicFeedControl(feeds, 'container', options); } </script> </head> <body> <h1>Google Feed API</h1> <p>フィードコントロール</p> <div id="container" style="width:300px;">Loading...</div> </body> </html>
※関連コンテンツ