主页 → 微博

腾讯官方 JSONP 接口调用微博 [II]

因为腾讯给的接口有刷新限制,新手每小时1000次,平均算下来4.几秒一次,很明显并不是每次都能成功获取的,所以我重写了加载函数,0.5秒加载一次,直到成功为止.另外,我还重写了显示函数,鼠标移过的时候会自动伸展显示下面的内容,左击右击切换的功能依然还在,但自动翻页被我去掉了,已经用处不大了....
下面是代码...

阅读全部 ...

腾讯官方 JSONP 接口调用微博

先简单写一下,后面告诉大家这玩意儿是如何工作的.

<script type="text/javascript">
function weiboData(d){
    for(i in d.data){
        if(d.data[i].nick.length > 45) d.data[i].nick.substr = d.data[i].nick.substring(0, 45) + '...';
        switch(d.data[i].type){
        case 1:
            var type = '广播';
            break;
        case 2:
            var type = '转播';
            break;
        case 3:
            continue;
            break;
        case 4:
            var type = '对话';
            break;
        }
        var text = '<li><span class="left">'+ type +': '+ d.data[i].content +
                    '</span><span class="right">'+getTime(d.data[i].timestamp)+' 来自: '+d.data[i].fromarea+'</span></li>';
        $('#notice ul').append(text);
    }

    ...
}
</script>
<script type="text/javascript" src="http://v.t.qq.com/output/json.php?type=1&name=tinystrong&sign=8efce5b1f39e7a2f9a833387f82d02c1586ac456"></script>

1. 首先要声明一个名称为 weiboData 的函数(为啥要命名为weiboData,接着往下看...)
2. 加载一段 JS (实际上是JSONP啦)
3. 没了....

瞧,多简单啊,我们只要在 weiboData 函数里做处理就行了,
那有人会奇怪,光声明这个函数,那它啥时候被调用呢?
嗯,所以呢下面就要加载一段 js 了,js有三个参数
type,name,sign
这三个参数分别是
类型(1=微博,2=时间轴)
微博帐号
微博Sign(你无须管他是什么,从这里就可以得到 http://open.t.qq.com/home)

嗯,我们来分析一下这个 json.php 下面是内容,简单写一下

weiboData({"data":[{"content":"我们这些ring0的柔情,你们搞ring3的永远不懂!","count":0,"from":1,"fromarea":"腾讯微博","id":61634130877182,"image":null,"isvip":0,"name":"tinystrong","nick":"宅男小强","pic":"http://mbloghead.store.qq.com/mbloghead/e9bc30c5b118380aacc8","status":0,"timestamp":1324224245,"type":1})

JSONP是什么? 说白了就是JS

浏览器加载完 json.php 后会把他当js来执行
很明显他需要调用一个名叫weiboData的函数,并把后面的数据当参数传进去(这就是为啥上面要大家把函数命名叫weiboData的原因)
接着在我们这个weiboData里就能获取到后面的数据啦(OBJECT类型的)

啥..不懂>>>> 你火星了
啥..还是不懂>>>> 不懂神马 json.php 的内容么? 靠,这个文档我木有...自己分析吧...

微博API

通过广播站获取JSON数据利用jQuery实时获取数据,前台显示.
因为服务器端限制了Referrer,所以用PHP伪造了一个,嘿嘿~
至于效果,请大家查看我的首页.

API地址: http://www.tinystrong.com/microblog/用户名/密钥/jsonp=随机串
返回格式: JSON函数

阅读全部 ...

新主题修改

1.首页加入微博

2.各个索引页导航修改

3.404页修改

4.导航栏修改

5.页脚修改

剩下的还有很多.....

Elegant Box 添加腾讯微博代码

公告栏部分 (外观->当前主题选项->公告栏):

<div id="microBlog">
	<ul>
	</ul>
</div>
<script type="text/javascript" src="http://www.tinystrong.com/t/tinystrong"></script>
<script type="text/javascript">
	function AutoScroll(obj){
		$(obj).find("ul:first").animate({
			marginTop:"-16px"
		}, 500, function(){
			$(this).css({marginTop:"0px"}).find("li:first").appendTo(this);
		});
	}

	$(document).ready(function(){
		$.each(xdata, function(i, n){
			var text = '<li><span class="left">'+ xdata[i].name +': '+ xdata[i].text +'</span><span class="right">'+ xdata[i].from +'</span></li>'
			$('#microBlog ul').append(text);
		});
		$('#microBlog ul li[class=first]').remove();
		setInterval('AutoScroll("#microBlog")', 3000);
	});
</script>

阅读全部 ...