Frage

Ich verwende ein Skript, um Nachrichten aus verschiedenen Quellen zu laden, indem ich die Google AJAX-Feed-API verwende.Wie erhalte ich die Beschreibung eines Eintrags?Unten ist ein Hallo-Welt-Programm:

<html>
  <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">

    google.load("feeds", "1");

    function initialize() {
      var feed = new google.feeds.Feed("http://news.google.com/?output=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>
  </head>
  <body>
    <div id="feed"></div>
  </body>
</html>

Wie kann ich die Beschreibung mit dem erhalten? entry Objekt???Ich verwende die Google-URL - http://news.google.com/?output=rss für RSS-Feeds im XML-Format.Ich möchte den Teil „Beschreibung“.Wie kann ich das bekommen?

War es hilfreich?

Lösung

Sie können die Beschreibung abrufen, aber Sie können nicht das JSON-Format und die verwenden entry Einspruch dagegen einlegen.Wenn Sie die Futterparameter unter lesen https://developers.google.com/feed/v1/devguide vorsichtig, das wirst du sehen description ist kein Feld, das auf der Eintragsebene zurückgegeben wird, sondern nur auf der Feed-Ebene.

Dazu müssen Sie den Feed im XML-Format anfordern und dann die einzelnen Knoten laden, einschließlich description.Hier ist der relevante Ausschnitt, den ich dazu verwendet habe – Formatierung usw. ändern.wie du es brauchst.

function initialize() {
   var feed = new google.feeds.Feed("http://myblog.com/blog/feed/");
   feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
   feed.load(function(result) {
   if (!result.error) {
    var items = result.xmlDocument.getElementsByTagName('item');
    item = items[0];

    //build each element
    var title = document.createElement("h4");
    title.innerHTML = item.getElementsByTagName('title')[0].firstChild.nodeValue;

    var content = document.createElement("p");
    content.innerHTML = item.getElementsByTagName('description')[0].firstChild.nodeValue;

    href = item.getElementsByTagName('link')[0].firstChild.nodeValue;
   }

Andere Tipps

Die HTML-Beschreibung kann mithilfe der Inhaltsvariablen abgerufen werden.Sie sollten also Folgendes haben:div.appendChild(document.createTextNode(entry.content));

Beachten Sie, dass dadurch das HTML-Datenformat abgerufen wird.

Nach langem Suchen habe ich herausgefunden, dass die Google API „contentSnippet“ anstelle von Beschreibung verwendet.Keine XML-Formatierung erforderlich.

function initialize() {
    var feed = new google.feeds.Feed("http://myblog.com/blog/feed/");   
    feed.setNumEntries(10);
    feed.load(function(result) {
        if (!result.error) {

            $(document).ready(function(){   
                $('#feed-pull').append('<ul></ul>'); 
                for (var i = 0; i < result.feed.entries.length; i++) {
                    var entry = result.feed.entries[i];                     
                    var desc = entry.contentSnippet;

Eintrag.Titel ändern in:

div.appendChild(document.createTextNode(entry.title));

zur Eintragsbeschreibung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top