现在基本上一些Google的服务都支持GData。
废话少说,我们来看看Blogger上GData的使用,
首先如果你访问http://www.lostincode.cn/feeds/posts/default 这将是文章的XML标准输出,
但是如果写成http://www.lostincode.cn/feeds/posts/default?alt=json-in-script 则结果就会不一样,alt=json-in-script告诉google将结果以json的形式输出,这里如果你加上回调函数对json进行一定的处理就可以使用友好的html将内容解析出来,加回调函数只需要在后面加&callback=回调函数名字
下面就贴出本人的完整代码,效果就见右侧的最新文章,
大家注意 var link=post.link[4].href;这句代码,Link[]其实是一个文章单元中所有链接的数组,下标从0开始,第四个正好为文章的链接。
还有就是compareentry函数是用来比较时间用的。
----------------------------------------------------------------------
<div id="new">
加载中...
</div>
<script>
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;
}
function handlePosts(json) {
var temp = '<ul id="Feed001_feedItemListDisplay">';
var postshow=10;
var sortentry=json.feed.entry.sort(compareentry);
for (var i=0, post; post = sortentry[i]; i++) {
if(i>=postshow) break;
var title=post.title.$t;
var link=post.link[4].href;
var authorname=post.author[0].name.$t;
var timestamp=post.published.$t.substr(0,10);
temp += '<li><span class="item-title"><a href="'+link+'">'+ title +'</a>('+timestamp+')'+'</span></li>';
}
temp+="</ul>";
document.getElementById("new").innerHTML = temp;
}
</script>
<script src="http://www.lostincode.cn/feeds/posts/default?alt=json-in-script&callback=handlePosts"
type="text/javascript"></script>
0 评论:
发表评论