主机格调

腾讯微博开通好几个月了,我选择腾讯微博,没别的,就是方便,因为集成到QQ面板上面了,不用登录网页。之前就像把微博调用在博客上面,但是腾讯一直不提供API。忘记找哪位朋友要了一个爱好者写的API,今天有空就研究了一下,其实很简单,唯一不足的是他用的自己的服务器,所以设置成大约1-7分钟才更新一次,反正我测试了三次,从微博发一条信息,刷新网页,两条7分钟、一条1分钟后在博客上面显示。不过OK,不是很久,总比没有用得好。

我选择的是放到右侧边栏也就是sidebar里面显示。所以在sidebar.php里适当的地方加上下面代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<div id="MyMicroBlog"><img src="http://ons.me/wp-content/uploads/2010/07/loading.gif" alt="数据正在加载中..." title="数据正在加载中..."/></div>
<script type="text/javascript">
var num = 3 ; //调用条数 不要大于10
var qq = 'iximan';//微博号  并非微博名也非QQ号
function Micro(){
var script=document.createElement('script');
script.src='http:'+'//qq.54bq.com/t/api2?'+qq;
document.getElementsByTagName('body')[0].appendChild(script);
if(document.all){
script.onreadystatechange = function() { 
if(this.readyState == 4 || this.readyState == 'complete' || this.readyState == 'loaded') qq_54bq_com();
}; 
}
else script.onload = function() { qq_54bq_com()};   
}
function qq_54bq_com()
{
var m=document.getElementById('MyMicroBlog');
var s=[];
for(var i=0,j=json.id.length;i<j;i++)
{
if(s.length<num) s.push(' <a href="http:'+'//t.qq.com/'+json.tqid+'" target="_blank">'+unescape(json.name)+'</a> '+unescape(json.id[i].page));
if(s.length==num) break;
}
m.innerHTML=s.join("<br/>");
}
if(window.attachEvent) window.attachEvent("onload",function() {Micro()});
else window.addEventListener("load",function() {Micro()},true);
</script>

然后美化一下,我在style.css加了一句,#MyMicroBlog{padding:10px;},大家主题不一样,想法不一样,自己去美化吧。

但是我的主题比较特殊,里面有判断语句,所有要顾忌所有页面的话,必须写两次这段代码,但是这段代码里面div是有id的,怎么办?我想了半天,后来才反应过来:一个页面不能有相同的id,只是对html静态网页来说的,我是写到php动态网页里的两个id,编译后的html页面只会出现一个,因为另外一个判断了。所以就大胆的复制了两次这段代码。

有的朋友担心这么大段JavaScript代码会不会影响博客的加载速度,其实不会的。你甚至可以把代码第一排的div复制到需要的位置,然后把下面的JavaScript代码放到footer.php里面,都是可以的。实际上div里面就是一张加载图片而已,不信你自己看咯。

效果大家可以看我的侧边栏,就调用了三条,本来想调用五条的,但是会撑很高,所以就三条了,大家喜欢的话可以自己调整条数的。API制作者点我

PS:腾讯微博已经推出开放平台http://open.t.qq.com/apps/show/

>>原创文章,欢迎转载。转载请注明:转载自西门的后花园,谢谢!
>>原文链接地址:http://ons.me/127.html