腾讯提供多个接口用于给普通商家用户进行在线咨询服务,对于各种流行的在线服务面板,使用的最多就是通过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
登录后只要选择免费开通即可允许自己的状态被获取,于是问题解决!
时间: 2024-12-08 19:00:39