<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript版QQ在线聊天</title>
<script language="JavaScript" type="text/javascript">
    var online=[];//定义返回数组结果,不可删
    //所有QQ号码,ps:QQ号码需要在:http://shang.qq.com/widget/set.php登陆开通服务。否则不行。
    var arr=['2604442887','2051745288','1848770385','1120133673','2803313065','2648742550','2094800395','2094513153','2669768587','2654708197','2806803604','2103969859','1774028571','2037063540','2094733504','2327791804','1253815649','2230046791','2103770755','1304620374','2093786904','2849914876','2857556863','2102872570','2813748275','2665689096','2104447022','2843331729','1158460366','1803024257','2568724744','2591950281','2655743296','2103288748','2545706138','2376968019','2105851980','2094285843','2016877549','2094655602','2103184634','1843771362','2328299466','2640794841','2058114350','2050633405','2258529381','2057854571','2093960197','2665560453','1989981124','1602153264','1514350293','402074938','363163864'];
    var my_arr=arr.join(":")+':';
    var qq_url='http://webpresence.qq.com/getonline?Type=1&'+my_arr;
  /****************动态创建JS*********************/
  var head = document.getElementsByTagName('head')[0];
  var script = document.createElement('script');
  script.type = 'text/javascript';
  script.src = qq_url;
  head.appendChild(script);
  /***********判断JS文件是否加载完成************/
  function complete_load(js){
    if ((navigator.userAgent.indexOf('MSIE') == -1) ? false: true) {
      js.onreadystatechange = function() {
        if (this.readyState && this.readyState == "loading") return;
        else creatHtml();
      };
    } else js.onload = function() {
      creatHtml();
    };
    js.onerror = function(){
      alert('加载错误。请检查文件路径是否正确!')
    };
  }
  complete_load(script);
  /*删除数组索引方法*/
  Array.prototype.remove=function(dx)
  {
      if(isNaN(dx)||dx>this.length){return false;}
      for(var i=0,n=0;i<this.length;i++)
      {
        if(this[i]!=this[dx])
        {
          this[n++]=this[i]
        }
      }
    this.length-=1
  }
  /*返回在线QQ*/
  function getOnlineQq(arr){
    var online_qq = new Array();
    online_qq['online'] =[]
    online_qq['offline'] = [];
    for(var i=0;i<online.length;i++){
      if(online[i]==1){
        online_qq['online'].push(arr[i]);
      }else{
        online_qq['offline'].push(arr[i]);
      }
    }
    if(online_qq['online'].length>=10){
      online_qq['offline']=[];
      online_qq['online'] = getRandQq(online['online'],10);
    }else{
      var olength = 10- online_qq['online'].length;
      online_qq['offline'] = getRandQq(online_qq['offline'],olength);
    }
    return online_qq;
  }
  /*动态生成在线QQ*/
  function creatHtml(){
    var online_qq = getOnlineQq(arr);
    var qq_kefu = '<ul>';
    for(var i=0;i<online_qq['online'].length;i++){
      qq_kefu += '<li><em><img alt="" src="http://www.chinaskin.cn/themes/chinaskin/images/2013/tel_pic/qq1.png" /></em><a href="http://wpa.qq.com/msgrd?v=3&uin='+online_qq['online'][i]+'&site=qq&menu=yes" title="立即咨询" target="_blank">'+online_qq['online'][i]+'</a></li>';
    }
    for(var i=0;i<online_qq['offline'].length;i++){
      qq_kefu += '<li><em><img alt="" src="http://www.chinaskin.cn/themes/chinaskin/images/2013/tel_pic/qq2.png" /></em><a href="http://wpa.qq.com/msgrd?v=3&uin='+online_qq['offline'][i]+'&site=qq&menu=yes" title="立即咨询" target="_blank">'+online_qq['offline'][i]+'</a></li>';
    }
     qq_kefu += '</ul>';
      document.getElementById('webqq').innerHTML = qq_kefu;
  }

  //返回num个arr元素
  function getRandQq(arr,num){
    var narr = [];
    var index = 0;
    var sarr = arr;
    if(arr.length<=num){
      return arr;
    }else{
      for(i=0;i<num;i++){
        index = Math.round(Math.random() * (arr.length-1));
        narr.push(arr[index]);
        arr.remove(index);
      }
      return narr;
    }
  }
</script>
</head>
<body>
<!--webQQ[-->
<style type="text/css">
  img{ border:none;}
  *{ list-style:none; padding:0; margin:0;}
  a{ text-decoration: none;}
  .qqclear:after,.qqclear:before{content:""; display:table;}
  .qqclear:after{ clear:both;}
  .qqclear{*zoom:1;}
  .webqq{width:156px; height:405px;padding-left: 16px;padding-top: 39px; background:url(http://www.chinaskin.cn/themes/chinaskin/images/2013/tel_pic/qq_bg.gif) no-repeat; position: fixed; top:130px; right:0; z-index:99999;_position: absolute;_top: expression(documentElement.scrollTop+150);}
  .webqq li{ width:145px; height:39px; overflow:hidden; background:url(http://www.chinaskin.cn/themes/chinaskin/images/2013/tel_pic/no_hover.jpg) no-repeat; position:relative; zoom:1;}
  .webqq li:hover{ background: url(http://www.chinaskin.cn/themes/chinaskin/images/2013/tel_pic/hover.jpg) no-repeat; cursor:pointer;}
  .webqq li em{ position:absolute; display:block; width:24px; height:27px; left:5px; top:5px;}
  .webqq li a{ display:block; line-height: 58px; height: 39px; text-indent: 40px; color:#f00;}
</style>
<div class="webqq" id="webqq">
</div>
<!--]end webQQ-->
<div style="font-size:14px;">
  ps:生成随机十个在线的QQ。每次刷新重新随机排序一次。。
</div>
</body>
</html>

javascript版QQ在线聊天挂件的更多相关文章

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

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

  2. QQ在线聊天代码获取和使用教程

    在网站上挂上悬浮QQ是一种有效的推广方式,QQ正常情况下是不被允许临时会话的,需要加为好友才可以,这样很不友好, 当今每个行业都是有很多人在做,竞争很激烈,对客户的友好是增加订单的有效途径. 地址:h ...

  3. PC端页面如何调用QQ进行在线聊天?

    pc端如何实现QQ在线咨询? html代码如下: <a href="tencent://message/?uin=1234567&Site=Sambow&Menu=ye ...

  4. Web版的各种聊天工具

    直到近期为止,我们经常使用的即时聊天工具(QQ.msn等)了Web版,大家不用下载庞大软件,直接打开网页就能够与自己的好友聊天,非常方便.在此将时汇总        便于大家查找        节约大 ...

  5. 网页中插入QQ在线功能

    网页中插入QQ在线功能 本随笔记录的是网页中如何插入qq在线聊天,这里讲解的是 普通QQ在线聊天操作. 例:第一种方式  使用 tencent://message/?uin=QQ号码&Site ...

  6. 在线聊天室的实现(1)--websocket协议和javascript版的api

    前言: 大家刚学socket编程的时候, 往往以聊天室作为学习DEMO, 实现简单且上手容易. 该Demo被不同语言实现和演绎, 网上相关资料亦不胜枚举. 以至于很多技术书籍在讲解网络相关的编程时, ...

  7. java版的类似飞秋的局域网在线聊天项目

    原文链接:http://www.cnblogs.com/wangleiblog/articles/5323305.html 转载请注明 最近在弄一个java版的局域网在线聊天项目,功能跟飞秋差不多.p ...

  8. 手机web页面调用手机QQ实现在线聊天的效果

    html代码如下: <a href="javascript:;" onclick="chatQQ()">QQ咨询</a> js代码如下: ...

  9. java在线聊天项目1.3版 ——设计好友列表框功能

    设计好友列表框功能,思路—— 1.当客户端成功登陆后,则客户端把成功登陆信息发送给服务端, 2.由服务端将接收到来自各个成功登陆的客户端的用户信息添加进好友列表, 3.每当有成功登陆的用户就向各个客户 ...

随机推荐

  1. javascript scroll事件

    http://developer.51cto.com/art/201107/277994.htm onscroll事件 window.onscroll|| document.onscroll var ...

  2. ural 1613 For Fans of Statistics

    #include <cstdio> #include <cstring> #include <map> #include <vector> #inclu ...

  3. QT文档如何使用

    http://blog.csdn.net/chenlong12580/article/details/7389588

  4. SignalR 的跨域支持

    How to establish a cross-domain connection Typically if the browser loads a page from http://contoso ...

  5. WebAPI 用户认证防篡改实现HMAC(二)签名验证 AbsBaseAuthenticationAttribute--转

    public class ActionFilter : ActionFilterAttribute      {          public override void OnActionExecu ...

  6. City Tour

    Description Alice想要从城市A出发到城市B,由于Alice最近比较穷(不像集训队陈兴老师是个rich second),所以只能选择做火车从A到B.不过Alice很讨厌坐火车,火车上人比 ...

  7. JavaScript IDE 大盘点,让选择不再难

      文章来源:http://gcdn.gcpowertools.com.cn/showtopic-24110-1-3.html 阅读本文之前,分享大家一张图片,看图会发现JavaScript开发需求最 ...

  8. 从一个聊天信息引发的思考之Android事件分发机制

         转载请声明:http://www.cnblogs.com/courtier/p/4295235.html 起源:        我在某一天看到了下面的一条信息(如下图),我想了下(当然不是这 ...

  9. 给大家推荐一款代替Visio的在线作图工具ProcessOn

    过去作图的时候一直都是在用visio,每一次换了电脑使用都要重新安装,这大家都知道,最头疼的就是激活问题,曾经因为激活问题我“找遍了”正个互联网,最后还没找到...从08年开始到现在,visio用了这 ...

  10. V$、GV$、X$、V_$、GV_$之间的关系

    V$.GV$.X$.V_$.GV_$之间的关系 GV$:全局视图,针对多个实例环境. V$:针对某个实例的视图. X$:是GV$视图的数据来源,oracle内部表. GV_$:是GV$的同义词. V_ ...