Loading...
訪客人次:
 
 
 
 
2007年10月4日 星期四 , ,  

Blogger 小元件--最新文章與最新回應(RSS格式)

上次是 Atom 格式的 widget, 這次再來補一篇 RSS 格式的 widget

最新文章(Recent Posts)
<div id="new-posts">Loading...</div>
<script type='text/javascript'>
function mf_getRssMsg(s_rssUrl,i_count,s_wrapperName){
  var s_errMsg = '<ul><li>Your browser does not support this widget.</li></ul>';
  function fn_generateHTML(){
    if(xmldom.firstChild==null){
      document.getElementById(s_wrapperName).innerHTML=s_errMsg;
      return;
    }
    var nodeList = xmldom.getElementsByTagName('item');
    var s = '<ul>';
    for(var i=0;i< nodeList.length && i< i_count;i++){
      var node_title = nodeList.item(i).getElementsByTagName('title').item(0).firstChild;
      var node_link = nodeList.item(i).getElementsByTagName('link').item(0).firstChild;
      s+='<li><a href="'+node_link.nodeValue+'">'+node_title.nodeValue+'</a></li>';
    }
    if( nodeList.length==0 ){
      s+='<li>No data</li>';
    }
    s += '</ul>';
    document.getElementById(s_wrapperName).innerHTML=s;
  }
  var xmldom;
  if(window.ActiveXObject){
    var xmldom = new ActiveXObject('Microsoft.XMLDOM');
    xmldom.async = true;
    xmldom.load(s_rssUrl);
    xmldom.onreadystatechange=function(){
      if (xmldom.readyState == 4){
        fn_generateHTML();
      }
    }
  }else if(window.XMLHttpRequest){
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function(){
      if( xmlhttp.readyState==4 ){
        xmldom = xmlhttp.responseXML;
        fn_generateHTML();
      }
    }
    xmlhttp.open('GET', s_rssUrl, true );
    xmlhttp.send(null);
  }
}
var s_rssUrl = '/feeds/posts/default?alt=rss';
mf_getRssMsg(s_rssUrl,5,'new-posts');
</script>


最新回應(Recent Comments)
<div id="new-comments">Loading...</div>
<script type='text/javascript'>
var s_rssUrl = '/feeds/comments/default?alt=rss';
mf_getRssMsg(s_rssUrl,5,'new-comments');
</script>


跟上一篇同理, 若你單獨使用最新回應時, 請自行再加上 mf_getRssMsg() 這個 function

--gs--
{Blogger 小元件|widget}
沒找到你要的東西嗎?歡迎留下你的問題!若是我知道的,我會盡力的回答。

3 意見:

匿名 2008年5月13日 晚上8:34:00 提到...  

小妖:
我有看到妳寫的"最新回應那篇了,我把整個程弍copy paste到我的欄位裡,只出現loading-----
:)iris

小妖 2008年5月14日 清晨7:44:00 提到...  

請注意看看有沒有發生 Script 錯誤, 若有, 可能是以下原因
1.mf_getRssMsg 這個 function 你沒貼過去
2.你給的 feed 格式可能不是 RSS, 若是 Atom, 請用另一組
3.若你的 feed 是用 feedburn 所產出的, 可能也會有問題, 這個我自己都搞不定 :P
若都不是以上的原因, 就要更多資訊才能判斷了

小妖 2008年11月4日 下午5:43:00 提到...  

有用FeedBurner的,請將
var s_atomUrl = '/feeds/posts/default?alt=rss';
改成
var s_atomUrl = '/feeds/posts/default?alt=rss&redirect=false';

若回應也有用FeedBurner的,同樣請改成
var s_atomUrl = '/feeds/comments/default?alt=rss&redirect=false';

這樣就可以使用了 ^^


張貼留言

廣告訊息會被我刪除