在某些情况下,页面加载商务通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、之前我们在网站上添加打开商务通对话窗口按钮时一般是像以下这种方式添加的:

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

<a href="javascript:;" //使用商务通自带打开对话窗口函数,下同。

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

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

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

代码原理:

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

本文转自 gutaotao1989 51CTO博客,原文链接:http://blog.51cto.com/taoyouth/1737854

商务通打开对话窗口容错代码相关推荐

  1. JS打开新窗口的代码window.showModalDialog()

    用JS代码打开新窗口 function openNewWindow(url,width,height,formname) {     var feature="dialogWidth:&qu ...

  2. js跳转页面与打开新窗口的代码

    js跳转页面与打开新窗口的方法 超链接 详细介绍 在原来的窗体中直接跳转用 在新窗体中打开页面用: 其他语法 各项参数 最基本的弹出窗口代码 经过设置后的弹出窗口 终极应用--弹出的窗口之Cookie ...

  3. js在ie下打开对话窗口的方式

    对话框的性质分为模态对话框和非模态对话框: 1.模态对话框: 打开该对话框之后,在该对话框之外的一切操作都是被禁止的,要想进行其他操作,必须先关闭本对话框. js命令: showModalDialog ...

  4. 商务通核心函数库代码(2)

    商务通核心函数库解密格式化后的代码,理解其中的一些函数可以帮助我们对商务通进行一些高级功能的定制. 下面只简单介绍几个非常有用的函数,稍后会专门写一篇文章进行详细讲解. 1.openZoosUrl 函 ...

  5. 商务通官方网站服务器版,商务通核心教程

    商务通核心函数库解密格式化后的代码 商务通核心函数库解密格式化后的代码,理解其中的一些函数可以帮助我们对商务通进行一些高级功能的定制. 下面只简单介绍几个非常有用的函数,稍后会专门写一篇文章进行详细讲 ...

  6. 商务通 php调用,商务通跳转代码(php和html两个版本)

    php商务通跳转代码 写一段商务通跳转代码,要求: 1)保证打开的是http://www.swt.com/LR/chat.aspx?from=LKT33156511 2)保证商务通中记录来源是自己的姓 ...

  7. layuiAdmin打开新窗口、新标签页

    这里写自定义目录标题 前言 打开新窗口 打开新窗口的代码 源码 前言 layuiAdmin.std-v1.2.1 打开新窗口 在控件上添加 lay-href 属性. <a lay-href=&q ...

  8. 浏览器拦截打开新窗口情况总结

    在打开一个新窗口时,由于浏览器的安全机制,用户未始终允许的情况下,可能会触发到浏览器拦截,无法正常直接弹出. 网上有很多给出解决方案的只言片语,不够全面,所以针对自己遇到的问题做了详细的情况分析.总结 ...

  9. vue 拖动 datatransfer 问题_electron-vue跨平台桌面应用开发实战教程(四)——窗口样式amp;打开新窗口...

    > 本文我们讲解下怎么修改窗口样式,系统默认的窗口非常普通,通常与设计不符,所以我们要自定义,接下来我们讲解下怎么去掉原有样式,怎么实现实现窗口的最小化,最大化和关闭按钮.还有怎么打开一个新页 ...

最新文章

  1. Linux——挖矿病毒(sysupdate, networkservice进程)清除解决方案
  2. Angular rxjs operators 笔记
  3. 论文浅尝 | 打通推荐系统与知识图谱: 第一个公开的大规模链接数据集合
  4. 现实问题从数学化到离散化再到程序化
  5. akamai 指纹 和 akamai BMP 移动端sensor 风控分析
  6. 201542010208、201571030331软件工程结对项目
  7. DataFormatString属性语法介绍及解决DataFormatString无效的问题
  8. Modbus RTU转Modbus TCP网关的应用
  9. 项目实战:Qt+ffmpeg摄像头检测工具
  10. 松下电视切换html,松下等离子电视如何用HDMI连接电脑?
  11. 训练集和测试集损失函数
  12. 互联网12个创业派系500强,你认识多少?
  13. 【matplotlib】画图怎样将中文为宋体-英文为新罗马字体
  14. MySQL Java的JDBC编程
  15. 交换机组播风暴_交换机广播风暴控制知识
  16. java tld tag_jsp中引用的tag和tld文件
  17. 用过凡科建站的出来说一下可靠吗,免费版的怎样
  18. PN learning
  19. Google I/O:谷歌AR看似不紧不慢,实则暗藏玄机
  20. 数据分析让网络推广事半功倍

热门文章

  1. Android studio db文件导出 DDMS
  2. 关于勒索病毒 Ransom:Win32.WannaCrypt 解决方案的最后一次说明
  3. mac上使用Mounty软件报错The volume NETAC is not re-mountable in read/write mode
  4. Photon 使用心得
  5. vue cli js css压缩方案
  6. python 列表维度,python判断列表维度
  7. 开源项目—FLutter/iOS/Android编写的三个计算器APP
  8. 微信公众平台开发入门教程
  9. leetcode1055
  10. 计算机ms高级应用科目一 科目二考什么,驾考提前知 | 科目一、科目二、科目三、科目四都考什么?...