商务通检测访客在线状态原理

模板网 2014-09-18

商务通是如何判断访客在线状态的呢,为了探究这个问题医疗模板库(www.120muban.com)小编开始对商务通核心代码解密后的代码(使用代码格式化工具)进行了详细的分析,终于在其中找到了如下代码,这个函数就是商务通检测访客在线状态的关键代码。

复制代码 代码如下:
function LR_hcloop() {
    if (!LiveReceptionCode_isonline || !_lr_issupport_track || (LR_visitetime + 1800000) < new Date().getTime()) return;
    if (LR_cookie_test) {
        if (LR_getCookie('LR_mimiwin') != LR_Tick && LR_chatkind == 2) lrminiMin(1);
        var LR_check_data = LR_getCookie('LR_check_data');
        if (LR_check_data != null) {
            var LR_ss = LR_check_data.split("|");
            if (LR_ss.length > 4 && LR_cookie_ctick < parseInt(LR_ss[1])) {
                LR_cookie_ctick = parseInt(LR_ss[1]);
                LR_CheckImgJS1(LR_ss[0], LR_ss[2], LR_ss[3], LR_ss[4]);
                setTimeout('LR_hcloop()', 500);
                return
            }
        }
    }
    if (checkcount == -1 || !LR_inviteimgJS) {
        setTimeout('LR_hcloop()', 500);
        return
    }
    if (LR_istate == -1) {
        LR_istate = -2;
        checkcount = -1;
        LR_inviteimgJS = 0;
        LR_hcloopJS(LR_sysurl + 'JS/RefuseChatjs.aspx', 'id=' + LR_siteid + '&sid=' + LR_sid + '&lng=' + LR_lng);
        setTimeout('LR_hcloop()', 500);
        return
    }
    if (LR_cookie_test && LR_getCookie('lastinvite') != null) LR_lastinvite = LR_getCookie('lastinvite');
    if (LR_lastinvite != null) {
        if (LR_MCount1 < 5000) LR_MCount1 = 5000;
        if ((new Date().getTime() - parseInt(LR_lastinvite)) > LR_MCount1) {
            LR_lastinvite = new Date().getTime();
            LR_SetCookie('lastinvite', LR_lastinvite, 720);
            LR_inviteimgJS = 0;
            LR_hcloopJS(LR_sysurl + 'js/CheckInvitejs.aspx', 'id=' + LR_siteid + '&sid=' + LR_sid + ((LR_GetObj('LRMINIWIN') != null && LR_GetObj('LRMINIWIN').style.display == 'none') ? ('&oid=' + LR_maxoid) : ''))
        }
    }
    setTimeout('LR_hcloop()', 500)
}

通过这段代码我们可以发现,商务通设置了一个定时器,每隔0.5秒运行一次LR_hcloop函数,这个函数的作用是向商务通服务器发送访客当前状态的信息。

通过浏览器的调试功能我们就能一目了然了。

浏览器调试窗口截图:

商务通检测访客在线状态原理

商务通检测访客在线状态原理

相关文章

  1. 网站商务通LR_RefuseChat函数详解

    前面的文章中已经为大家介绍了 商务通核心函数库解密格式化后的代码 ,那么今天就带大家详细的分析一下商务通中的一个函数LR_RefuseChat,LR_RefuseChat函数的作用是拒绝邀请。 详细代码如下: 复制代码 代码如下: function LR_RefuseChat() { if (LR_gstate

  2. 商务通隐藏默认邀请框代码

    商务通默认的邀请框如何隐藏,下面提供笔者常用的解决代码: 下面提供的是一个纯JS操作的方法和一个使用jQuery操作的方法,代码原理是判断一个div ID为LRdiv1的标签,通过判断其css样式display是否为none来判断邀请框是否显示,如果为显示我们就将其隐藏起来

  3. 网站商务通设置主动邀请

    设置主动邀请 说明:主动邀请可以有效地使主动邀请功能更具人性化,更易于打破访客的心里防线,它可以对访客的语言,看到的邀请语,以及邀请界面进行针对性的设置,使访客能够在第一时间接受您及您的业务。 操作说明:在系统设置下拉菜单中选择参数设置,如(图1)

  4. 如何隐藏商务通默认弹出框

    当我们想自定义商务通弹窗框的时候,怎样才能隐藏商务通默认的中间弹出框和侧边弹出框呢,看到一些医院采用的是css样式来隐藏默认的弹出框,其实只需要修改引入上商务通JS中的一个参数就可以隐藏商务通默认弹窗。 例如:http://pet.zoosnet.net/JS/LsJS.aspx

  5. 商务通打开对话窗口容错代码

    在某些情况下,页面加载商务通JS代码失败,导致访客点击咨询按钮无法进入商务通对话窗口,下面医疗模板库为大家整理了一段代码,可以防止因商务通加载失败导致访客无法打开对话窗口这种情况的发生。 完整代码如下: 复制代码 代码如下: script type=text/jav

随机推荐

  1. 网站商务通LR_RefuseChat函数详解

    前面的文章中已经为大家介绍了 商务通核心函数库解密格式化后的代码 ,那么今天就带大家详细的分析一下商务通中的一个函数LR_RefuseChat,LR_RefuseChat函数的作用是拒绝邀请。 详细代码如下: 复制代码 代码如下: function LR_RefuseChat() { if (LR_gstate

  2. 商务通隐藏默认邀请框代码

    商务通默认的邀请框如何隐藏,下面提供笔者常用的解决代码: 下面提供的是一个纯JS操作的方法和一个使用jQuery操作的方法,代码原理是判断一个div ID为LRdiv1的标签,通过判断其css样式display是否为none来判断邀请框是否显示,如果为显示我们就将其隐藏起来

  3. 网站商务通设置主动邀请

    设置主动邀请 说明:主动邀请可以有效地使主动邀请功能更具人性化,更易于打破访客的心里防线,它可以对访客的语言,看到的邀请语,以及邀请界面进行针对性的设置,使访客能够在第一时间接受您及您的业务。 操作说明:在系统设置下拉菜单中选择参数设置,如(图1)

  4. 如何隐藏商务通默认弹出框

    当我们想自定义商务通弹窗框的时候,怎样才能隐藏商务通默认的中间弹出框和侧边弹出框呢,看到一些医院采用的是css样式来隐藏默认的弹出框,其实只需要修改引入上商务通JS中的一个参数就可以隐藏商务通默认弹窗。 例如:http://pet.zoosnet.net/JS/LsJS.aspx

  5. 商务通打开对话窗口容错代码

    在某些情况下,页面加载商务通JS代码失败,导致访客点击咨询按钮无法进入商务通对话窗口,下面医疗模板库为大家整理了一段代码,可以防止因商务通加载失败导致访客无法打开对话窗口这种情况的发生。 完整代码如下: 复制代码 代码如下: script type=text/jav