上次是 Atom 格式的 widget, 這次再來補一篇 RSS 格式的 widget
最新文章(Recent Posts)
最新回應(Recent Comments)
跟上一篇同理, 若你單獨使用最新回應時, 請自行再加上 mf_getRssMsg() 這個 function
--gs--
{Blogger 小元件|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>
<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>
<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 意見:
小妖:
我有看到妳寫的"最新回應那篇了,我把整個程弍copy paste到我的欄位裡,只出現loading-----
:)iris
請注意看看有沒有發生 Script 錯誤, 若有, 可能是以下原因
1.mf_getRssMsg 這個 function 你沒貼過去
2.你給的 feed 格式可能不是 RSS, 若是 Atom, 請用另一組
3.若你的 feed 是用 feedburn 所產出的, 可能也會有問題, 這個我自己都搞不定 :P
若都不是以上的原因, 就要更多資訊才能判斷了
有用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';
這樣就可以使用了 ^^
張貼留言
廣告訊息會被我刪除