google.feeds.findFeeds(str,feedLoaded);フィード検索にはgoogle.feeds.Feedオブジェクトを作成する必要はありません。google.feedsオブジェクトに用意されている「findFeeds」メソッドを呼び出すだけです。引数には、検索テキストと、通信完了後に呼び出されるコールバック関数を指定します。
for (var i = 0; i < result.entries.length; i++) {
var entry = result.entries[i];
container.appendChild(makeEntryData(entry));
}……何が違うかわかりますか? resultのデータ構造が微妙に異なっているのです。先程、loadメソッドでロードしたフィードのデータは、result.feed.entriesというように、返されたオブジェクトのfeed.entriesという形でエントリーがまとめられていました。が、ここでは、result.entriesとなっています。feedプロパティはなく、返されたオブジェクト内に直接entriesが用意されているのです。※リストが表示されない場合
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>
| << 前へ | 次へ >> |