zoukankan      html  css  js  c++  java
  • QQ在线状态的使用

    在网页中显示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

  • 相关阅读:
    3. 算法分析
    4. union-find算法
    1.基础编程模型和数据抽象
    2. 背包,队列和栈
    .NET Core 单元测试
    ASP.NET Core Web API
    ASP.NET Core MVC 之区域(Area)
    ASP.NET Core MVC 之依赖注入 Controller
    ASP.NET Core MVC 之依赖注入 View
    微服务架构学习与思考(04):微服务技术体系
  • 原文地址:https://www.cnblogs.com/legendjslc/p/4116598.html
Copyright © 2011-2022 走看看