2011-10-20 4 views
0

XMLフィードをプル/解析して内容をHTMLに戻すためのJSスクリプトの実装。残念ながら、divタグ間のテキスト(フィード!)だけがページに表示されるため、そうではないようです。div内のJavascriptフィードリーダー

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

GoogleのフィードリーダーのAPIは、より堅牢で、RSS

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

を処理するために、さらにいくつかの機能はまた、私はオンロードでのdivを見つけることができないかもしれないと思うが...? divフィードがロードされた後にスクリプトを実行しようとしましたか?ちょうど私の2セントです。

+0

もっと便利です。ありがとう! – Chris

2

XMLHttp * を要求しないでください。 *?

+0

+1 - 私はそれを逃した。私の答えは今役に立たない。 –

+0

はい!それは得られないはずですが、まだ何も表示されていません。 – Chris

関連する問題