Blogger   |  BlackBerry   |  汽车Car   |  网络服务   |  做好每一件事   |  mifia亲笔   |  我的视频  |

Blogger显示最新文章

2010年6月18日 星期五

显示最新文章列表就是通过抓取Feed,依照格式制作成列表的形式,修改方法如下:
在布局里面添加HTML/JavaScript小工具,写入如下代码即可:

<div id="newPosts">
<noscript>failed!
Javascript not supported here!</noscript>
</div>

<script>
var nPostStartIndex = 6;
var nPostShow = 10;

function showRecentPosts(nIndex) {
if (!nIndex)
nIndex = nPostStartIndex;
var sFeedURL = '/feeds/posts/summary?orderby=published&start-index='+nIndex+'&max-results='+(nPostShow+1)+'&alt=json-in-script&callback=generatePosts';
var script = document.createElement('script');
document.getElementById('newPosts').innerHTML = 'Loading <blink>...</blink>';
script.setAttribute('src', sFeedURL);
script.setAttribute('type', 'text/javascript');
document.documentElement.firstChild.appendChild(script);
}

function generatePosts(json) {
function compareentry(a,b) {
order= Date.parse(a.published.$t.replace(/^(\d{4})-(\d{2})-(\d{2})T([0-9:]*)([.0-9]*)(.)(.*)$/, '$1/$2/$3 $4 GMT')) - Date.parse(b.published.$t.replace(/^(\d{4})-(\d{2})-(\d{2})T([0-9:]*)([.0-9]*)(.)(.*)$/, '$1/$2/$3 $4 GMT'));
return 0-order;
}

var sHTML = '<ul>';
var sortentry = json.feed.entry.sort(compareentry);
var nIndex = parseInt(json.feed.openSearch$startIndex.$t);
var nTotalPost = parseInt(json.feed.openSearch$totalResults.$t);
for (var i = 0, Post; Post = sortentry[i]; i++) {
if (i >= nPostShow)
break;
var title = Post.title.$t;
var j = 0;
while (j < Post.link.length && Post.link[j].rel != "alternate")
j++;
var link = Post.link[j].href;
var timestamp=Post.published.$t.substr(0,10);
sHTML += '<li><span class="item-title"><a href="'+link+'">'+ title +'</a> - '+timestamp+'</span></li>';
}
sHTML += '</ul>';
sHTML += generatePostLink(parseInt(json.feed.entry.length), nIndex, nTotalPost);
document.getElementById('newPosts').innerHTML = sHTML;
}

function generatePostLink(nFetch, nIndex, nTotalPost) {
var bOld = (nFetch > nPostShow);
if (bOld) nFetch = nPostShow;
var sResult = '<p align="right">Recent '+nIndex+'-'+(nIndex+nFetch-1)+', total: '+nTotalPost+'.&nbsp;&nbsp;';
if (nIndex > nPostStartIndex)
sResult += '<a href="javascript:showRecentPosts('+(nIndex-nPostShow)+');" title="Newer Posts">&lt;&lt;</a>&nbsp;&nbsp;';
if (bOld)
sResult += '<a href="javascript:showRecentPosts('+(nIndex+nPostShow)+');" title="Older Posts">&gt;&gt;</a>';
sResult += '</p>';
return sResult;
}
</script>

<script language="javascript">showRecentPosts();</script>


保存以后就可以了,nPostStartIndex表示从第几篇文章开始显示,如果主页里显示了5篇文章,就没有必要重复显示了,直接从第六篇显示就可以了,nPostShow表示要显示多少文章,这些依据个人情况自己酌情更改即可。

如果你不喜欢文章后边出现的日期,可以把日期代码删除就可以了:

- '+timestamp+'

本文来自:OceanBan的空间


本文地址:http://blog.mifia.com.cn/2010/06/show-most-recent-articles.html
原创文章如转载,请注明链接: 转自mifia的Blogger
更多
无觅相关文章插件
blog comments powered by Disqus
powered by mifia的Blogger | WordPress by Google | 京ICP备05038422号