在网页中显示QQ在线状态并点击后发起对话,是很多门户网站常见的一个功能,这两天就碰到这样一个。原以为很简单,结果还是折腾了半天,虽然是个小问题,但也值得记录一下。

按以前的经验,网上有很多QQ在线代码,代码如下:

<a target=blank href=http://wpa.qq.com/msgrd?V=1&Uin=123691873&Site=www.ydxdaj.cn&Menu=yes>
<img border="0" SRC=http://wpa.qq.com/pa?p=1:123691873:1 alt="点击这里给我发消息">
</a>

按照这个来以后,点击后倒是可以发起会话,但是从wpa.qq.com上 获得的图片总是点亮的,看不出在线和离线的区别,看起来好像总是在线,记得很早以前这样用时,如果离线了,显示的图片是灰的,但现在不是了。找了很多跟这个相关的网站查看,包括qq114等,都是显示不出在线和离线的区别。也许腾讯停用了这样的功能,也许认为没必要区分在线和离线。

继续搜索,找打这样一种实现,可以获取离线或在线状态。代码如下:

<script>
var online= new Array();
</script> <!--检测是否在线-->
<script src="http://webpresence.qq.com/getonline?Type=1&qq号码:qq号码:qq号码:qq号码:qq号码:qq号码:"></script> .... <script>
$(".qq0").toggleClass("offline", online[0] == 0);
$(".qq1").toggleClass("offline", online[1] == 0);
......
</script>

其中,最关键的是

http://webpresence.qq.com/getonline?Type=1&qq号码:qq号码:qq号码:qq号码:qq号码:qq号码:

这个用来获取QQ在线状态,返回一段脚本,可以在浏览器地址栏测试查看结果:

返回的代码是一个数组,所以在前面定义了个online数组。根据返回数组的值确定相应QQ图标元素的CSS类,改变其外观,以区别在线和离线状态。

为了方便用户会话,避免弹出“只有添加好友后才能对话”的对话框,在QQ的个人资料设置“临时会话”项,取消选中“不接收任何临时会话消息”。

设置完这些,发现两个QQ中,有一个可以正确显示在线状态,但另一个总是显示离线,百思不得其解。解决方法很简单,登陆一下QQ推广网站http://shang.qq.com/,然后就可以了,可能这样就是启用了QQ通信组件,误打误撞解决了。

在QQ官方网站中,对这一块讲的比较乱,不够系统不够清楚。

2016/10/06补充:获取在线状态的代码,http://wpa.qq.com/pa?p=1:21117217:3

QQ在线状态的使用的更多相关文章

  1. ecshop下启用QQ在线服务,并能实时更新QQ在线状态

    按照 http://blog.csdn.net/zurich1979/article/details/9082201 可轻松实现在线客服, 但是使用后发现一个问题,那就是这种情况下在线客服不能根据QQ ...

  2. C#在Winform程序中显示QQ在线状态

    首先,引入必要的命名空间 using System.Windows.Forms;  using System.Net; 其次,在Form中拖入一个PictureBox控件,并设置其SizeMode为A ...

  3. 检测QQ在线状态脚本(20141022测试成功)

    import time,datetime import urllib2 def chk_qq(qqnum): chkurl = 'http://wpa.paipai.com/pa?p=1:'+`qqn ...

  4. 网站里加入QQ在线客服

    1.开启"QQ在线状态"服务  http://jingyan.baidu.com/article/b24f6c823425a586bfe5da1f.html http://www. ...

  5. 【情人节来一发】网站添加QQ客服功能

    今年的元宵节遇到情人节,挺不自量力的,呵呵,开篇给各位讲个段子,早上一美女同学在空间发说说道:“开工大吉 起床啦,卖元宵,卖玫瑰,卖避孕套啦-有木有一起去发财的小伙伴?Let’s go…”,对于此种长 ...

  6. 微信公众平台中添加qq在线聊天代码

    微信公众平台是个不错的媒体,可以和你的小伙伴们即时交流,但你的小伙伴们是用手机上的微信,打字自然就慢了:有人说用微信网页版,那个也不习惯,再说也不一定所有人都知道网页版微信.(2014.01.22更新 ...

  7. 在网页中插入MSN,Skype,QQ的方法

    MSN源码: <a href="msnim:chat?contact=come400@hotmail.com" target="blank">可以适 ...

  8. QQ,MSN,Skype在线客服代码

    QQ,MSN,Skype在线客服代码 在网站建设时,为了更好的实施网站的营销型,会用到QQ,MSN等在线交流,以便客户能够快捷方便的联系我们.在这里,提供QQ,MSN的在线客服代码给大家分享: 1.Q ...

  9. 不加好友实现QQ在线代码状态临时会话

    网友在介绍怎么样使用QQ来强制聊天,才想到以前一直遇到的QQ在线生成代码后,遇到的必须添加好友才能聊天的一个疑问. 公告:“QQ在线状态”V2.0正式发布,解决了QQ2009用户点击“在线状态”后须添 ...

随机推荐

  1. Java中long和Long的区别

    Java的数据类型分两种: 1.基本类型:long,int,byte,float,double,char,short,boolean 2. 对象类型(类): Long,Integer,Byte,Flo ...

  2. 更新solrcloud+zookeeper的配置文件,要reload collection

    1.用的lib下的solr-core-4.3.1jar中的ZkCLI工具,命令在solr(web发布的)同级目录下运行. (1)upconfig 更新配置文件命令 java -classpath ./ ...

  3. 刷题向》图论》BZOJ1001 平面图最大流、平面图最小割、单源最短路(easy+)

    坦白的说这是一道水题,但是因为是BZOJ上的1001,所以这道题有着特殊的意义. 关于最大流转最短路的博客链接如下:关于最大流转最短路两三事 这道题的图形很规矩,所以建边和建点还是很简单的. 题目如下 ...

  4. 关于SO_LINGER选项的使用

    结论: linux开启SO_LINGER时,如果设置l_linger为非0, 不管是阻塞socket,非阻塞socket, 在这里都会发生阻塞, 而并不是UNP所讲到的( 非阻塞socket会立即返回 ...

  5. js数值和字符串比较的规则

    1.数值和字符串比较时 a.若字符串为数字字符串,则将字符串转为数字,再比较 b.若字符串不为数字字符串,则直接返回false,因为这里把字符串转为了NaN, 数字与NaN比较,都返回false

  6. 14-stringstream

    C++中stringstream的使用方法和样例 原创 2016年11月06日 15:46:49 标签: string / C++ 7427 之前在leetcode中进行string和int的转化时使 ...

  7. 在线创建MongoDB免费集群(MangoDB Atlas)

    MongoDB Atlas是MongoDB的云服务,构建在亚马逊的AWS上,MongoDB允许用户在上面创建一个免费集群作为学习使用. 1. 注册MongoDB cloud账号: 访问www.mong ...

  8. 写一段php代码,确保报个进程同时写入同一个文件

  9. WIN XP蓝屏代码大全

    转自:廊坊师范学院信息技术提高班---韩正阳 http://blog.csdn.net/jiudihanbing WIN XP蓝屏代码大全WIN XP蓝屏代码大全一.蓝屏含义 1.故障检查信息 *** ...

  10. C# 把本地文件上传到服务器上,和从服务器上下载文件

    方法一.通过Ajax方式上传文件(input file),使用FormData进行Ajax请求 <div  > <input type="file" name=& ...