posts - 89, comments - 241, trackbacks - 0, articles - 1
   :: 首页 ::  :: 联系 :: 聚合  :: 管理

QQ在线状态代码详解及如何自定义在线风格图片

Posted on 2010-06-25 07:28 saobaolu 阅读(3837) 评论(1)  编辑  收藏 所属分类: 前端
网址是http://wp.qq.com
发现这个玩意越来越强大了,就忍不住把官方的介绍搬过来:
代码样例
<a href="http://sighttp.qq.com/cgi-bin/check?sigkey=81a37f0b7cac68639bddfdb9b93a6c92bc211f3e3a4e683afbb31a079382dc9d";target=_blank; onclick="var tempSrc='http://sighttp.qq.com/wpa.js?rantime='+Math.random()+'&sigkey=81a37f0b7cac68639bddfdb9b93a6c92bc211f3e3a4e683afbb31a079382dc9d';var oldscript=document.getElementById('testJs');var newscript=document.createElement('script');newscript.setAttribute('type','text/javascript'); newscript.setAttribute('id', 'testJs');newscript.setAttribute('src',tempSrc);if(oldscript == null){document.body.appendChild(newscript);}else{oldscript.parentNode.replaceChild(newscript, oldscript);}return false;"><img border="0" SRC='http://wpa.qq.com/pa?p=1:80000805:1' alt="点击这里给我发消息"></a>

1)、sigkey为个人鉴权key,请勿修改,否则无法发起临时会话。

2)、临时会话图标<img border="0" SRC='http://wpa.qq.com/pa?p=1:80000805:1' alt="点击这里给我发消息">

SRC是图标链接,自定义图标中可以替换这一部分为自己图片的链接,

参数:

P=以冒号“:”分隔多个参数

第一个参数为版本号,目前为1;

第二个为QQ/TM号码;

第三个参数为图像风格,支持多种状态。

alt是图标旁留言。

3)、除了自定义图标需要修改临时会话图标外,其他情况下建议不要修改代码,因为有可能导致在不同的环境和浏览器下,无法发起临时会话。


自定义在线风格图片

用JS实现,具体步骤如下:

1) 申请代码

<a href="http://sighttp.qq.com/cgi-bin/check?sigkey=81a37f0b7cac68639bddfdb9b93a6c92bc211f3e3a4e683afbb31a079382dc9d"; target=_blank; onclick="var tempSrc='http://sighttp.qq.com/wpa.js?rantime='+Math.random()+'&sigkey=81a37f0b7cac68639bddfdb9b93a6c92bc211f3e3a4e683afbb31a079382dc9d';var oldscript=document.getElementById('testJs');var newscript=document.createElement('script');newscript.setAttribute('type','text/javascript'); newscript.setAttribute('id', 'testJs');newscript.setAttribute('src',tempSrc);if(oldscript == null){document.body.appendChild(newscript);}else{oldscript.parentNode.replaceChild(newscript, oldscript);}return false;"><img border="0" SRC='http://wpa.qq.com/pa?p=1:80000805:1' alt="点击这里给我发消息"></a>

2) 定义online数组,必须是online命名

<script>var online= new Array();</script>

3) 获取在线状态

<script src="http://webpresence.qq.com/getonline?Type=1&80000805:"></script>

可以获取多个,必须以冒号分隔,以冒号结尾,比如:

<script src="http://webpresence.qq.com/getonline?Type=1&80000805:10000:123456:"></script>

online[0]=0,表示80000805离线

online[1]=1,表示10000在线

online[2]=1,表示123456在线

填写号码的先后顺序,分别对应数组online的0、1、2

4) 添加代码

把SRC='http://wpa.qq.com/pa?p=1:80000805:1'替换为自己的图片,比如:

<script> if(online[0]==0) document.write("<a href="http://sighttp.qq.com/cgi-bin/check?sigkey=81a37f0b7cac68639bddfdb9b93a6c92bc211f3e3a4e683afbb31a079382dc9d"; target=_blank; onclick="var tempSrc='http://sighttp.qq.com/wpa.js?rantime='+Math.random()+'&sigkey=81a37f0b7cac68639bddfdb9b93a6c92bc211f3e3a4e683afbb31a079382dc9d';var oldscript=document.getElementById('testJs');var newscript=document.createElement('script');newscript.setAttribute('type','text/javascript'); newscript.setAttribute('id', 'testJs');newscript.setAttribute('src',tempSrc);if(oldscript == null){document.body.appendChild(newscript);}else{oldscript.parentNode.replaceChild(newscript, oldscript);}return false;"><img border="0" SRC='http://xxxx/outline.jpg' alt="点击这里给我发消息"></a>"); 
else document.write("<a href="http://sighttp.qq.com/cgi-bin/check?sigkey=81a37f0b7cac68639bddfdb9b93a6c92bc211f3e3a4e683afbb31a079382dc9d"; target=_blank; onclick="var tempSrc='http://sighttp.qq.com/wpa.js?rantime='+Math.random()+'&sigkey=81a37f0b7cac68639bddfdb9b93a6c92bc211f3e3a4e683afbb31a079382dc9d';var oldscript=document.getElementById('testJs');var newscript=document.createElement('script');newscript.setAttribute('type','text/javascript'); newscript.setAttribute('id', 'testJs');newscript.setAttribute('src',tempSrc);if(oldscript == null){document.body.appendChild(newscript);}else{oldscript.parentNode.replaceChild(newscript, oldscript);}return false;"><img border="0" SRC='http://xxxx/online.jpg' alt="点击这里给我发消息"></a>"); </script> 

我是这样看的,用tx的方法得到某QQ号是否在线,用js判断,显示online.jpg或者outline.jpg这两个图片,其余不变。

没有所谓的命运,只有不同的选择!