google.feeds.findFeeds(str,feedLoaded);フィード検索にはgoogle.feeds.Feedオブジェクトを作成する必要はありません。google.feedsオブジェクトに用意されている「findFeeds」メソッドを呼び出すだけです。引数には、検索テキストと、通信完了後に呼び出されるコールバック関数を指定します。
for (var i = 0; i < result.entries.length; i++) {……何が違うかわかりますか? resultのデータ構造が微妙に異なっているのです。先程、loadメソッドでロードしたフィードのデータは、result.feed.entriesというように、返されたオブジェクトのfeed.entriesという形でエントリーがまとめられていました。が、ここでは、result.entriesとなっています。feedプロパティはなく、返されたオブジェクト内に直接entriesが用意されているのです。
var entry = result.entries[i];
container.appendChild(makeEntryData(entry));
}
※リストが表示されない場合
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 type="text/javascript"> google.load("feeds", "1"); function find() { var str = document.getElementById("text1").value; google.feeds.findFeeds(str,feedLoaded); } function feedLoaded(result) { if (!result.error) { var container = document.getElementById("container"); container.innerText = ""; for (var i = 0; i < result.entries.length; i++) { var entry = result.entries[i]; container.appendChild(makeEntryData(entry)); } } } function makeEntryData(entry){ var div = document.createElement("div"); var title = document.createElement("p"); title.innerHTML = entry.title; var link = document.createElement("a"); link.href = entry.link; link.innerText = entry.link; var content = document.createElement("div"); content.innerHTML = entry.contentSnippet; div.appendChild(title); div.appendChild(link); div.appendChild(content); div.appendChild(document.createElement("hr")); return div; } </script> </head> <body> <h1>Google Feed API</h1> <p>フィード検索</p> <input type="text" id="text1" > <input type="button" onclick="find();" value="検索"> <div id="container"></div> </body> </html>
<< 前へ | 次へ >> |