Js判断QQ在线状态不准确的解决办法

  腾讯提供多个接口用于给普通商家用户进行在线咨询服务,对于各种流行的在线服务面板,使用的最多就是通过js跨域批量获取qq在线情况,如下图:

Js判断QQ在线状态不准确的解决办法

  使用了腾讯的批量判断QQ在线接口("http://webpresence.qq.com/getonline?Type=1&qq号:")最后的冒号一定要带上,代码大致如下:

 

<script type="text/javascript">

    var qqNum="";

    $(".qqImage").each(function(index,e){

        var temp=$(e).attr("id").split('_');

        qqNum+=temp[1]+":";

    });

    //动态创建javascript跨域获取QQ在线状态

    var online = new Array();

    var url="http://webpresence.qq.com/getonline?Type=1&"+qqNum;

    $.getScript(url)

        .done(function() {

              //scrpit加载完成后执行在线状态图片的改写

            $(".qqImage").each(function(index,e){

                var temp=$(e).attr("id").split('_');

                if(online[index]=="0"){

                    $(e).attr("src","images/offline.gif");

                    

                }

            });

         })

         .fail(function() {

              alert("客服暂时不可用");

        });    

</script>

 

  但是实验中发现,有部分号码即使在线,在面板中总是反映不在线,开始以为是代码的问题,但是直接通过接口看的确不在线,最好左思右想才感觉貌似腾讯不会这么不注重隐私(明面上),要不然谁都能看到对方的在线状态,即使不是好友,于是发现了开启QQ在线状态的页面,地址:http://shang.qq.com/widget/set.php

 

Js判断QQ在线状态不准确的解决办法

 

  登录后只要选择免费开通即可允许自己的状态被获取,于是问题解决!

你可能感兴趣的:(js)