1

RSS/JavaScript を介してブログから投稿を取得して、自分の Web サイトに表示しようとしています。プルする投稿へのタイトルとリンクを正常に取得できますが、実際の投稿コンテンツを取得しようとすると、他に何も表示されません。過去 2 日間 Google の API ドキュメントを読んだ後では、私はそれを理解できないように見えますが、単純なものが欠けているように感じます。

私が使用しているスクリプトは次のとおりです。

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load("feeds", "1");

  var feedContainer=document.getElementById("blog-feed")
  var feedURL="http://MYBLOGTITLE.blogspot.com/feeds/posts/default?alt=rss"
  var postsReturned=2
  var rssoutput="<ul>"

  function rssFeedSetup(){
    var pullFeed=new google.feeds.Feed(feedURL)
    pullFeed.setNumEntries(postsReturned) 
    pullFeed.load(showFeed) 
  }

  function showFeed(result){
    if (!result.error){
      var thefeeds=result.feed.entries
      for (var i=0; i<thefeeds.length; i++)
      rssoutput+="<li><a href='" + thefeeds[i].link + "'>" + thefeeds[i].title + "</a>" + thefeeds[i].content +"</li>"
      rssoutput+="</ul>"
      feedContainer.innerHTML=rssoutput
    }
    else
      alert("There was an error loading the blog posts.")
  }

  window.onload=function(){
    rssFeedSetup()
  }
</script>

この方法でコンテンツを取得できるかどうかを誰かが知っていますか、それとも私はこれに完全に間違っていますか? ありがとうございました!

4

2 に答える 2

1

わかりやすくするために、for ループに括弧を含める必要があります。

for (var i=0; i<thefeeds.length; i++) {
  rssoutput+="<li><a href='" + thefeeds[i].link + "'>" + thefeeds[i].title + "</a>" + thefeeds[i].content +"</li>"
}

これが問題の原因であるかどうかはわかりません。括弧がないと、ブラウザーの互換性の問題が発生する場合があります。

また、すべてのステートメントの最後にセミコロンを含める必要があります。

ブログの URL をアクティブな Blogspot ブログに変更することで、コードを機能させることができました。追加しなければなりませんでした

<div id="blog-feed"></div>

あなたのjavascriptの上。

于 2013-08-06T16:35:59.683 に答える
0

さらに調べてみると、Google Feed API と Blogger がすべての情報を渡していないことが問題のようです。生の RSS をデバッグして表示するとコンテンツは表示されますが、スクリプトが返すものを表示すると内容は空です。上記のコードは、Wordpress からの RSS フィードに対して意図したとおりに機能しています。Blogger だけが機能していません。今のところ、タイトルとリンクだけで行きます - ありがとう!

于 2013-08-14T15:57:43.583 に答える