Javascript feedreader внутри div

#javascript #xml #html #rss

#javascript #xml #HTML #RSS-канал

Вопрос:

Реализация JS-скрипта для извлечения / анализа XML-канала и возврата содержимого в html. К сожалению, похоже, что это не так, поскольку на странице не отображается ничего, кроме текста (Feed!) Между тегами div.

 function loadRSSFeed(param){
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.open("GET",'http://feeds.feedburner.com/engadget/Dnjv',false);
  xmlhttp.send();
  xmlDoc = xmlhttp.responseXML;
  var strBuffer= "";
  strBuffer = strBuffer  "<table border='1'>";
  var x=xmlDoc.getElementsByTagName("item");
  for (i=0;i<x.length;i  ){   
        strBuffer = strBuffer  "<tr><td><a href='";
        strBuffer = strBuffer  (x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue);
        strBuffer = strBuffer  "'>";
        strBuffer = strBuffer  (x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
        strBuffer = strBuffer  "</a></td></tr><tr><td>";
        strBuffer = strBuffer  (x[i].getElementsByTagName("description")[0].childNodes[0].nodeValue.substring(0,180));
        strBuffer = strBuffer   "<a href='";
        strBuffer = strBuffer  (x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue);
        strBuffer = strBuffer  "'>... Read More...</a>";
        strBuffer = strBuffer  "</td></tr>";
        if(i==10){
          break;
        }
    }
  strBuffer = strBuffer  "</table>";
  document.getElementById(param).innerHTML =strBuffer;
}
  

он импортируется следующим образом (успешно):

Затем вызывается в теле

 <body onload ="loadRSSFeed('feeddisplay');">
  <h1>All the news that's fit to render</h1>
  <div id="feeddisplay">Feed!</div>
</body>
  

Но он не отображается! Остальная часть страницы работает так, как должна…

Мысли?

Ответ №1:

Разве это не должен быть XMLHttp * Запрос *?

Ответ №2:

API для чтения каналов Google более надежный и имеет несколько дополнительных функций для обработки rss

http://code.google.com/apis/feed/v1/

Также я думаю, что onLoad, возможно, не сможет найти div … ? вы пытались выполнить скрипт после загрузки канала div… только мои 2 цента.