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

模板网 2014-09-26

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

完整代码如下:

复制代码 代码如下:
<script type="text/javascript">
function online() {
    var e = 'anniu';
    if (arguments.length == 1) {
        e = encodeURIComponent(arguments[0]);
    }
    if(typeof openZoosUrl == "undefined"){
        //测试请将该地址替换为自己的商务通地址
        var url = 'http://test.zoossoft.net/LR/Chatpre.aspx?id=test001&lng=cn&rf1=' + encodeURIComponent(document.referrer);
        url = url + '&e=' + e + '&p=' + encodeURIComponent(location.href);
        try{
            window.open(url, 'news' + (new Date()).getTime());
        }catch(e){
            location.href = url;
        }
    }else{
        openZoosUrl('chatwin', '&e=' + e);
    }
    return false;
}
</script>

代码使用说明:

1、实际测试使用时请将代码中的商务通地址替换为自己的 http://test.zoossoft.net/LR/Chatpre.aspx?id=test001

2、之前我们在网站上添加打开商务通对话窗口按钮时一般是像以下这种方式添加的:

<a href="/swt/">咨询在线专家</a> //使用页面跳转的方式

<a href="javascript:;" onclick="openZoosUrl('chatwin','&e=zhuanjia');">咨询在线专家</a> //使用商务通自带打开对话窗口函数,下同。

 <a href="javascript:openZoosUrl('chatwin','&e=zhuanjia')">咨询在线专家</a>

如果使用以上提供代容错代码后,只需要将连接代码修改为以下即可:

<a href="javascript:;" onclick="online('zhuanjia')">咨询在线专家</a>

<a href="javascript:online('zhuanjia')">咨询在线专家</a>

代码原理:

代码只是做了一个判断,判断openZoosUrl函数是否定义,openZoosUrl为商务通自带的打开对话窗口的函数,如果已经定义说明商务通代码正确加载,那么我们就直接调用商务通打开对话框的函数来打开对话框即可;如果该函数未定义,则说明商务通代码加载失败,我们就利用商务通对话窗口链接来打开对话窗口,其中以上提供的代码中包含了获取来路页面地址、当前页面地址的代码,传递给商务通后台,防止轨迹丢失的情况。

相关文章

  1. 商务通真的可能会被截持吗?

    本文作者:郭惠 微信公众号:商务通分析 此前常会听到一些黑客关于商务通安全的消息,说要对商务通的各项设置仔细排查,以防止商务通被截持,咋一听,就会觉得,确实得好好查查,对于无所不能的黑客来说,肯定截持个商务通不是难事,所以得反复查。但停下来仔

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

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

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

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

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

    商务通是如何判断访客在线状态的呢,为了探究这个问题小编开始对 商务通核心代码解密后的代码 进行了详细的分析,终于在其中找到了如下代码,这个函数就是商务通检测访客在线状态的关键代码。 复制代码 代码如下: function LR_hcloop() { if (!LiveReception

  5. 网站商务通设置客服及权限的方法

    网站商务通如何设置每个客服的权限,下面医疗模板库为大家详细介绍。一般只有高级管理人员才有设置此项功能的权限,管理人员可对下属客服人员进行使用软件权限的设置。 次对话窗口的可以看到其他客服的实时对话列表是管理人员对下属客服人员所指定的可见其它

随机推荐

  1. 商务通真的可能会被截持吗?

    本文作者:郭惠 微信公众号:商务通分析 此前常会听到一些黑客关于商务通安全的消息,说要对商务通的各项设置仔细排查,以防止商务通被截持,咋一听,就会觉得,确实得好好查查,对于无所不能的黑客来说,肯定截持个商务通不是难事,所以得反复查。但停下来仔

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

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

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

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

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

    商务通是如何判断访客在线状态的呢,为了探究这个问题小编开始对 商务通核心代码解密后的代码 进行了详细的分析,终于在其中找到了如下代码,这个函数就是商务通检测访客在线状态的关键代码。 复制代码 代码如下: function LR_hcloop() { if (!LiveReception

  5. 网站商务通设置客服及权限的方法

    网站商务通如何设置每个客服的权限,下面医疗模板库为大家详细介绍。一般只有高级管理人员才有设置此项功能的权限,管理人员可对下属客服人员进行使用软件权限的设置。 次对话窗口的可以看到其他客服的实时对话列表是管理人员对下属客服人员所指定的可见其它