- 締切済み
Google AJAX Feed APIキー
http://okwave.jp/qa/q7289256.html ↑こちらの記事を参考にしてサイトのTOPページにWPのタイトル表示を試みました。 表示はされるものの、そのタイトルを更にリンク(各記事にとぶ)にしたいのですが、 以下のソースのどこをいじればリンクになるのか教えて下さい。 ------------------------------------------------------- ■タイトル表示させたいページの<head>内に以下入れる。 <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("feeds", "1"); function initialize() { var feed = new google.feeds.Feed("★RSS★"); feed.load(function(result) { if (!result.error) { var container = document.getElementById("feed"); for (var i = 0; i < result.feed.entries.length; i++) { var entry = result.feed.entries[i]; var div = document.createElement("div"); div.appendChild(document.createTextNode(entry.title)); container.appendChild(div); } } }); } google.setOnLoadCallback(initialize); </script> ■HTMLのタイトル表示させたい部分に以下入れる。 <div id="feed"></div> ------------------------------------------------------------------------------- よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- fujillin
- ベストアンサー率61% (1594/2576)
#2です。 >結果としては表示されず、です。 タイトルも表示されなくなったのか、リンクが出来ていないだけなのかわかりませんが、要はentry.linkでリンク先が取得できているいないかがわかればいいのですが、どういう状態なのでしょうか? 例えば最初の(ご質問のまま)スクリプトに対して、表示する内容を entry.title + " 【" + entry.link + "】" のようにしてみると、【】内にリンク先アドレスが表示されるでしょうか? できないとすると、link属性が配信されていないのかも…
- fujillin
- ベストアンサー率61% (1594/2576)
#1です。 #1に示したスクリプトはリンク要素を作成している部分だけなので書き換えではありません。 後はdiv要素と同じことなので省略しました。 (しかしながらタイポがあったようです。すみません。) 入替えるなら for (var i = 0; i < result.feed.entries.length; i++) { var entry = result.feed.entries[i]; var div = document.createElement("div"); var a = document.createElement("a"); a.href = entry.link; a.appendChild(document.createTexNode(entry.title)); div.appendChild(a); container.appendChild(div); } ではダメでしょうか?
- fujillin
- ベストアンサー率61% (1594/2576)
Feed APIを使ったことがないのでよくわかりませんが… APIのドキュメントを見ると、jasonデータにはtitle、link、author、content…などのプロパティが用意されているようです。 https://developers.google.com/feed/v1/devguide?hl=ja#resultJson linkを見れば、URIが取得できるはずですので、 var a = document.createElement("a"); a.href = entry.link; a.appendChild(cocument.createTexNode(entry.title)); のようにすれば、いけるのではないでしょうか。 (未検証です)
お礼
ご回答ありがとうございます。 私の知識が乏しく申し訳ないのですが、 ↓を入れる箇所は var a = document.createElement("a"); a.href = entry.link; a.appendChild(cocument.createTexNode(entry.title)); ↓この部分 var div = document.createElement("div"); div.appendChild(document.createTextNode(entry.title)); container.appendChild(div); でよろしいのでしょうか? 書き換えるという感じですよね。 一旦書き換えてみたのですが、 タイトルが表示されず、、でした。 他方法あわせて模索中です。
お礼
たびたびのご返答ありがとうございます。 上記参考に入れ替えを行なってみました、 結果としては表示されず、です。 引き続き別方法含め検討していきたいと思います。 丁寧なご返答とても感謝してます。 ありがとうございます!