纯js客服插件集qq、旺旺、skype、百度hi、msn

原文 纯js客服插件集qq、旺旺、skype、百度hi、msn

客服插件,集qq、旺旺、skype、百度hi、msn 等 即时通讯工具,并可自己添加支持的通讯工具,极简主义,用法自己琢磨。我的博客 http://www.qiling.org

 <script>
 //在线客服插件 powered by casejs 极简主义 http://www.mlrzw.cn
 function CaseService(caseServiceConfig) {
     this.config = caseServiceConfig;
     this.elementId = this.config.elementId ;
     this.tpl = {
         ‘qq‘ : {
             ‘href‘ : ‘http://wpa.qq.com/msgrd?v=3&uin={#account#}&site=qq&menu=yes‘,
             ‘img‘  : ‘http://wpa.qq.com/pa?p=2:{#account#}:{#style#}&time={#rand#}‘
          },‘wangwang‘ : {
              ‘href‘ : ‘http://www.taobao.com/webww/ww.php?ver=3&touid={#account#}&siteid=cntaobao&status={#style#}&charset=utf-8‘,
              ‘img‘  : ‘http://amos.alicdn.com/online.aw?v=2&uid={#account#}&site=cntaobao&s=1&charset=utf-8‘
          },‘skype‘ : {
              ‘href‘ : ‘skype:{#account#}?call‘,
              ‘img‘  : ‘http://mystatus.skype.com/smallclassic/{#account#}‘
          },‘baiduhi‘ : {
              ‘href‘ : ‘baidu://message/?id={#account#}‘,
              ‘img‘  : ‘http://tieba.baidu.com/tb/img/hi/hiOnline.gif‘
          },‘msn‘ : {
              ‘href‘ : ‘msnim:chat?contact={#account#}‘,
              ‘img‘  : ‘http://tieba.baidu.com/tb/img/hi/hiOnline.gif‘
          }
      };
      //创建html
      this.buildHtml();

      //设置关闭
     var that = this;
      document.getElementById(this.elementId + ‘_sBtnClose‘).onclick = function(){
        that.hide();
      };
      //设置打开
     document.getElementById(this.elementId + ‘_sBtnOpenArea‘).onclick = function(){
        that.show();
      };
      //将html对象赋值给element
      this.element = document.getElementById(this.config.elementId);
      //判断是否显示
     this.config.isOpen ? this.show() : this.hide();
      //最后滚动到的位置
     this.lastScrollY = 0;
      //滚动
     this.slide();
 }
 //显示浮动窗口
 CaseService.prototype.show = function() {
      document.getElementById(this.elementId + "_sBtnOpenArea").style.display = ‘none‘;
      document.getElementById(this.elementId + "_serviceWin").style.display = ‘block‘;
 };
 //隐藏浮动窗口
 CaseService.prototype.hide = function() {
      document.getElementById(this.elementId + "_serviceWin").style.display = ‘none‘;
      document.getElementById(this.elementId + "_sBtnOpenArea").style.display = ‘block‘;
      //如果设置了隐藏的时候关闭  取消事件 并清空 dom
      if(this.config.closeAsHide == false){
          if(this.interval){
              window.clearInterval(this.interval);
          }
          //清空dom
          this.element.innerHTML = ‘‘;
      }
 };
 //滚动浮动窗口
 CaseService.prototype.slide = function() {
      //自动设置 定时事件
     if(!this.interval){
          var that = this;
          this.interval = window.setInterval(function(){
              that.slide();
          },1);
      }
      //获取距离顶部的距离
     if (document.documentElement && document.documentElement.scrollTop){
          var diffY = document.documentElement.scrollTop;
      }else{
          var diffY = document.body.scrollTop
      }
      var percent = .1 * ( diffY - this.lastScrollY);
      percent = (percent > 0)?Math.ceil(percent):Math.floor(percent);
      this.element.style.top = parseInt(this.element.style.top) + percent + "px";
      this.lastScrollY += percent;
 };
 CaseService.prototype.buildHtml = function(){
      //设置关闭事件
     var accountList = ‘‘;
      for (i = 0;i < this.config.accountArray.length ; i++ ){
         accountList +=  (function(){/*
             <div class="sItem">
               <label>{#label#}</label>
               <a target="_blank" href="{#href#}" title="{#tip#}">
                 <img src="{#img#}" alt="{#tip#}" />
               </a>
             </div>
         */}.toString().replace(/^.+?\*|\\(?=\/)|\*.+?$/gi, ""))
         //替换链接和状态图片 必须在前边
        .replace(/{#href#}/g   , this.tpl[this.config.accountArray[i].type].href)
         .replace(/{#img#}/g    , this.tpl[this.config.accountArray[i].type].img)
         //替换其他参数
        .replace(/{#label#}/g   , this.config.accountArray[i].label)
          .replace(/{#account#}/g , this.config.accountArray[i].account)
          .replace(/{#style#}/g   , this.config.accountArray[i].style)
          .replace(/{#tip#}/g     , this.config.accountArray[i].tip)
          .replace(/{#rand#}/g    , this.config.accountArray[i].rand);
      };
      var css = (function(){/*
          <style type="text/css">
          .caseService {font-family:‘微软雅黑‘;text-align: left;}
          .caseService .serviceWin {width:168px;height:auto;border:2px solid {#cssColor#};z-index:999999;}
          .caseService .sTitle {background:{#cssColor#};padding:8px 10px;font-size:14px;color:#FFF;position:relative}
          .caseService .sBtnClose {width: 25px;height: 25px;cursor: pointer;position: absolute;top: 3px;right: 10px;font-size: 25px;line-height: 25px;text-align: right;}
          .caseService .sList {font-size: 14px;color: #444;font-size: 13px;line-height: 20px;padding: 10px;background: #FFF}
          .caseService .sList .sItem{height:30px}
          .caseService .sList label{display:block;width:47%;text-align:right;overflow:hidden;white-space:nowrap;height:30px;float:left}
          .caseService .sList a{display:block;width:52%;float:left;overflow:hidden;height:30px;border:0;padding:0;margin:0}
          .caseService .sList img{display:inline-block;border:0;padding:0;margin:0}
          .caseService .other{border-top:1px dotted #ccc;margin-top:10px;font-size:17px;text-align:center;line-height:28px;padding-top:5px}
          .caseService .sBtnOpenArea {background:{#cssColor#};height: auto;padding: 15px 0;width: 31px;display:none;color:#FFF;font-size:15px;text-align:center;line-height:20px;cursor:pointer}
          .caseService .sBtnOpen{font-size: 24px;height: 25px;}
          </style>
      */}.toString().replace(/^.+?\*|\\(?=\/)|\*.+?$/gi, "")).replace(/{#cssColor#}/g,this.config.color);

      var tpl = (function(){/*
          <div id="{#elementId#}" class="caseService" style="{#style#}" >
            <div id="{#elementId#}_sBtnOpenArea" class="sBtnOpenArea">
              <div class="sBtnOpen">+</div>
              {#closeTitle#}
            </div>
            <div id="{#elementId#}_serviceWin" class="serviceWin" style="{#width#}">
                <div class="sTitle">{#openTitle#}
                  <div id="{#elementId#}_sBtnClose" class="sBtnClose">×</div>
                </div>
                <div class="sList">
                  {#accoundList#}
                  <div class="other">
                  {#other#}
                  </div>
                </div>
            </div>
          </div>
      */}.toString().replace(/^.+?\*|\\(?=\/)|\*.+?$/gi, ""));
      //拼接Html
      serviceWinTpl = css + tpl
          .replace(/{#elementId#}/g,this.config.elementId)
          .replace(‘{#other#}‘,this.config.other)
          .replace(‘{#accoundList#}‘,accountList)
          .replace(‘{#width#}‘,this.config.width)
          .replace(‘{#style#}‘,this.config.style)
          .replace(‘{#closeTitle#}‘,this.config.closeTitle)
          .replace(‘{#openTitle#}‘,this.config.openTitle);
      document.write(serviceWinTpl);
 };

 //在线客服插件 powered by casejs
 new CaseService( {
      "elementId": "myServiceWin",
      "color": "#266ed2",
      "openTitle": "客服中心",
      "closeTitle": "联<br/>系<br/>我<br/>们",
      "style": "right:0px; top:180px;position: absolute;",
      "width": "width:170px;",
      "isOpen": "true",
      "closeAsHide": "true",
      "other": "服务热线<br />0546-8238915",
      "accountArray": [
          {
              "type": "qq",
              "label": "在线客服:",
              "account": "2095128673",
              "tip": "客服当前在线,欢迎与我联系",
              "style": "1"
          },
          {
              "type": "qq",
              "label": "在线客服:",
              "account": "1113635625",
              "tip": "客服在线",
              "style": "1"
          },
          {
              "type": "qq",
              "label": "技术QQ:",
              "account": "781787584",
              "tip": "点击和我联系",
              "style": "7"
          },
          {
              "type": "wangwang",
              "label": "技术旺旺:",
              "account": "炫彩七零",
              "tip": "点击与我联系",
              "style": "1"
          },
          {
              "type": "msn",
              "label": "技术MSN:",
              "account": "王磊芝",
              "tip": "点击和我联系",
              "style": "0"
          },
          {
              "type": "skype",
              "label": "Skype:",
              "account": "15154625521",
              "tip": "我在线请和我联系",
              "style": "0"
          }
      ]
 } );
 </script>
时间: 2025-01-07 14:02:49

纯js客服插件集qq、旺旺、skype、百度hi、msn的相关文章

ECshop两个自动收缩浮动在线客服代码,QQ客服、在线MSN、旺旺,兼容IE、 FF

--------------------------------------------------------------------------------更新:增加客服2红色皮肤修正:FF3显示不隐藏问题--------------------------------------------------------------------------------文件夹OKQQ 或 QQkefu 直接放在商城网站根目录调用例子: UTF 调用 <link href="OKQQ/imag

QQ在线客服插件代码,下载自CSDN==可拖动在线客服插件。

  制作网站需要的在线客服功能, 代码: var isIE = /msie/i.test(navigator.userAgent); function gID(id){return document.getElementById(id);} //漂浮 //参数:层ID,记录上次滚动位置(默认可以为空,递归使用) function ScrollDiv(id,pScrollY){ //var ScrollY = document.documentElement.scrollTop ? documen

支持移动触摸设备的纯js元素拖放插件

Dragula是一款支持移动触摸屏设备的元素拖放纯js插件.这个元素拖放插件使用简单,浏览器兼容性好,能够实现通过鼠标或在移动设备中通过手指来拖动DOM元素的位置.它的特点有: 设置非常简单 没有外部依赖 可以自动对数据进行排序 被移动项带有半透明的视觉效果 支持移动触摸设备 兼容性好,支持IE7+的所有现代浏览器 效果演示:http://www.htmleaf.com/Demo/201504171695.html 下载地址:http://www.htmleaf.com/jQuery/Layou

jQuery在线客服插件

调用方法 1 $(".onLine").sOnLine({ 2 position: "right", //对齐方式 1.left 左对齐 2.right 右对其 3 side: 10, //边距 4 top: 200 //顶部距离 注意是数字不时字符串 5 }); 插件下载:sOnLine_1.0.rar 插件源码: (function($){ $.fn.sOnLine = function (options) { var defaults = { position

17款jQuery在线QQ客服代码分享

17款jQuery在线QQ客服代码分享给大家咯!!拿走,不谢,我叫雷锋~~ jQuery侧边栏点击展开收缩在线QQ客服代码 jQuery网页右侧固定层显示隐藏在线qq客服代码 jQuery点击按钮遮罩弹出在线QQ客服代码 jQuery带留言在线qq客服代码 绿色的jquery qq在线客服网页右侧固定层qq客服隐藏显示代码 蓝色的jquery固定div悬浮在线客服代码 jquery固定层网页侧边栏在线qq客服代码 jquery浮动在左侧的QQ客服代码 带有弹性可伸缩的在线客服代码 jquery右

ichat在线客服jQuery插件(可能是历史上最灵活的)

ichat是一款开源免费在线客服jQuery插件,通过该插件,您可以自由的定制属于自己的在线客服代码. ichat充分吸收传统在线客服插件的优点,并加上自身的独特设计,使得ichat可定制性异常强大. ichat追求简单实用,走小清新路线,以便能够适应大多数网站风格. ichat几乎全部由配置生成,使用简便,不需要写html,但需要写js,因为配置是json对象. ichat体积小巧,代码高效,兼容性良好,采用jQuery插件封装,与原有系统零冲突. 效果预览图: 更多内容参见: ichat项目

点击客服qq后关闭打开的空白页

点击客服打开与客服对话的qq窗口,js代码如下: <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=客服QQ&site=qq&menu=yes"><img src="http://wpa.qq.com/pa?p=2:客服QQ:45"></a> 点击后会打开一个空白页面,才会打开qq对话框,如何不对客服qq号码就行设置,那么打

qq客服、百度分享、视频播放

1.点击qq客服,出现qq聊天页面http://shang.qq.com/v3/index.html点击推广 2.百度分享http://share.baidu.com/code/advance <div class="bdsharebuttonbox" data-tag="my_share" id="newsShare"> <span class="fl">分享到:</span><a

微信支付超出10万限额怎么办客服电话

微信支付超出10万限额怎么办客服电话O755-32914926拨通后请再按225#键或者226#键分机号切记虽然网上经常有刷单被骗的新闻传出,虽然有法律人士说这个行业属于灰色,但仍算是一个不错的选择.因为时间自由,虽然不能赚大钱,但收入也还能让人基本满意,主要是如果找对平台,投入很少收益却不低,胜在见效快,只要做了每天就有收入.今年双十一无线端以68%的占比正式取代PC端,成为最大成交量来源.这个结果让不少人都下了一跳,不过这次的结果也让大家都真正意思到无线端的重要性.说到流量自然而然就会提到刷