var GOFLY={ GOFLY_URL:"https://gofly.sopans.com", GOFLY_KEFU_ID:"", GOFLY_BTN_TEXT:"Chat with me", GOFLY_LANG:"en", GOFLY_EXTRA: {}, GOFLY_AUTO_OPEN:true, GOFLY_AUTO_SHOW:false, GOFLY_WITHOUT_BTN:false, }; GOFLY.launchButtonFlag=false; GOFLY.titleTimer=0; GOFLY.titleNum=0; GOFLY.noticeTimer=null; GOFLY.originTitle=document.title; GOFLY.chatPageTitle="GOFLY"; GOFLY.kefuName=""; GOFLY.kefuAvator=""; GOFLY.init=function(config){ var _this=this; if(typeof config=="undefined"){ return; } if (typeof config.GOFLY_URL!="undefined"){ this.GOFLY_URL=config.GOFLY_URL.replace(/([\w\W]+)\/$/,"$1"); } this.dynamicLoadCss(this.GOFLY_URL+"/static/css/gofly-front.css?v=1"); if (typeof config.GOFLY_KEFU_ID!="undefined"){ this.GOFLY_KEFU_ID=config.GOFLY_KEFU_ID; } if (typeof config.GOFLY_BTN_TEXT!="undefined"){ this.GOFLY_BTN_TEXT=config.GOFLY_BTN_TEXT; } if (typeof config.GOFLY_EXTRA!="undefined"){ this.GOFLY_EXTRA=config.GOFLY_EXTRA; } if (typeof config.GOFLY_AUTO_OPEN!="undefined"){ this.GOFLY_AUTO_OPEN=config.GOFLY_AUTO_OPEN; } if (typeof config.GOFLY_AUTO_SHOW!="undefined"){ this.GOFLY_AUTO_SHOW=config.GOFLY_AUTO_SHOW; } if (typeof config.GOFLY_WITHOUT_BTN!="undefined"){ this.GOFLY_WITHOUT_BTN=config.GOFLY_WITHOUT_BTN; } var refer=document.referrer?document.referrer:"无"; this.GOFLY_EXTRA.refer=refer; this.GOFLY_EXTRA.host=document.location.href; this.GOFLY_EXTRA=JSON.stringify(_this.GOFLY_EXTRA); this.dynamicLoadJs(this.GOFLY_URL+"/static/js/functions.js?v=1",function(){ if (typeof config.GOFLY_LANG!="undefined"){ _this.GOFLY_LANG=config.GOFLY_LANG; }else{ _this.GOFLY_LANG=checkLang(); } _this.GOFLY_EXTRA=utf8ToB64(_this.GOFLY_EXTRA); }); if (typeof $!="function"){ this.dynamicLoadJs("https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js",function () { _this.dynamicLoadJs("https://cdn.bootcdn.net/ajax/libs/layer/3.1.1/layer.min.js",function () { _this.jsCallBack(); }); }); }else{ this.dynamicLoadJs("https://cdn.bootcdn.net/ajax/libs/layer/3.1.1/layer.min.js",function () { _this.jsCallBack(); }); } _this.addEventlisten(); } GOFLY.jsCallBack=function(){ this.showKefuBtn(); this.addClickEvent(); this.getNotice(); } GOFLY.showKefuBtn=function(){ var _this=this; if(_this.GOFLY_WITHOUT_BTN){ return; } var html="
" + '
' + '
1
' + '
'+_this.GOFLY_BTN_TEXT+'
' + '
' + '
'; $('body').append(html); } GOFLY.addClickEvent=function(){ var _this=this; $(".launchButton").on("click",function() { _this.showKefu(); $("#launchIcon").text(0).hide(); }); $("body").on("click","#launchNoticeClose",function() { $("#launchButtonNotice").hide(); }); $("body").click(function () { clearTimeout(_this.titleTimer); document.title = _this.originTitle; }); } GOFLY.addEventlisten=function(){ var _this=this; window.addEventListener('message',function(e){ var msg=e.data; if(msg.type=="message"){ clearInterval(_this.noticeTimer); var width=$(window).width(); if(width>768){ _this.flashTitle();//标题闪烁 } if (this.launchButtonFlag) return; var welcomeHtml="
"+_this.kefuName+"" + "×" + "
"; welcomeHtml+="
"+replaceContent(msg.data.content,_this.GOFLY_URL)+"
"; $("#launchButtonNotice").html(welcomeHtml).show(); var news=$("#launchIcon").text(); $("#launchIcon").text(++news).show(); } if(msg.type=="focus"){ clearTimeout(_this.titleTimer); _this.titleTimer=0; document.title = _this.originTitle; } }); window.onfocus = function () { clearTimeout(_this.titleTimer); _this.titleTimer=0; document.title = _this.originTitle; }; } GOFLY.dynamicLoadCss=function(url){ var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.type='text/css'; link.rel = 'stylesheet'; link.href = url; head.appendChild(link); } GOFLY.dynamicLoadJs=function(url, callback){ var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.src = url; if(typeof(callback)=='function'){ script.onload = script.onreadystatechange = function () { if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete"){ callback(); script.onload = script.onreadystatechange = null; } }; } head.appendChild(script); } GOFLY.getNotice=function(){ var _this=this; if(!_this.GOFLY_AUTO_OPEN){ return; } $.get(this.GOFLY_URL+"/notice?kefu_id="+this.GOFLY_KEFU_ID,function(res) { if(res.result.status=='offline'){ _this.chatPageTitle="
"; }else{ _this.chatPageTitle="
"; setTimeout(function(){ var userInfo=" "+res.result.username+"" $('.launchButtonText').html(userInfo); },3000); } _this.kefuAvator=res.result.avatar; _this.kefuName=res.result.username; _this.chatPageTitle+=""+res.result.username; if(_this.GOFLY_AUTO_OPEN&&_this.isIE()<=0){ _this.showKefu(); $(".launchButtonBox").show(); _this.launchButtonFlag=false; } if (res.result.welcome != null) { var msg = res.result.welcome; var len=msg.length; var i=0; if(len>0){ _this.noticeTimer=setInterval(function(){ if(i>=len||typeof msg[i]=="undefined"||msg[i]==null){ clearInterval(_this.noticeTimer); return; } var content = msg[i]; if(typeof content.content =="undefined"){ return; } var welcomeHtml="
"+res.result.username+"" + "×" + "
"; welcomeHtml+="
"+replaceContent(content.content,_this.GOFLY_URL)+"
"; var obj=$("#launchButtonNotice"); if(obj[0]){ obj[0].innerHTML=welcomeHtml; obj.show(); } i++; $("#launchIcon").text(i).show(); },4000); } } }); } GOFLY.isIE=function(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器 var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器 var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1; if(isIE) { var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); reIE.test(userAgent); var fIEVersion = parseFloat(RegExp["$1"]); if(fIEVersion == 7) { return 7; } else if(fIEVersion == 8) { return 8; } else if(fIEVersion == 9) { return 9; } else if(fIEVersion == 10) { return 10; } else { return 6;//IE版本<=7 } } else if(isEdge) { return 'edge';//edge } else if(isIE11) { return 11; //IE11 }else{ return -1;//不是ie浏览器 } } GOFLY.showPanel=function (){ var width=$(window).width(); this.GOFLY_AUTO_SHOW=true; if(this.isIE()>0){ this.windowOpen(); return; } if(width<768){ this.layerOpen("100%","100%"); return; } this.layerOpen("400px","530px"); this.launchButtonFlag=true; } GOFLY.showKefu=function (){ if (this.launchButtonFlag) return; var width=$(window).width(); if(this.isIE()>0){ this.windowOpen(); return; } if(width<768){ this.layerOpen("100%","100%"); return; } this.layerOpen("400px","530px"); this.launchButtonFlag=true; $(".launchButtonBox").hide(); } GOFLY.layerOpen=function (width,height){ if (this.launchButtonFlag) return; var layBox=$("#layui-layer19911116"); if(layBox.css("display")=="none"){ layBox.show(); return; } var _this=this; layer.index="19911115"; layer.open({ type: 2, title: this.chatPageTitle, closeBtn: 1, //不显示关闭按钮 shade: 0, area: [width, height], offset: 'rb', //右下角弹出 anim: 2, content: [this.GOFLY_URL+'/chatIndex?kefu_id='+this.GOFLY_KEFU_ID+'&lang='+this.GOFLY_LANG+'&refer='+window.document.title+'&extra='+this.GOFLY_EXTRA , 'yes'], //iframe的url,no代表不显示滚动条 success:function(){ var layBox=$("#layui-layer19911116"); if(_this.GOFLY_AUTO_SHOW&&layBox.css("display")=="none"){ _this.launchButtonFlag=true; layBox.show(); } }, end: function(){ _this.launchButtonFlag=false; $(".launchButtonBox").show(); }, cancel: function(index, layero){ $("#layui-layer19911116").hide(); _this.launchButtonFlag=false; $(".launchButtonBox").show(); return false; } }); } GOFLY.windowOpen=function (){ window.open(this.GOFLY_URL+'/chatIndex?kefu_id='+this.GOFLY_KEFU_ID+'&lang='+this.GOFLY_LANG+'&refer='+window.document.title+'&extra='+this.GOFLY_EXTRA); } GOFLY.flashTitle=function () { if(this.titleTimer!=0){ return; } this.titleTimer = setInterval("GOFLY.flashTitleFunc()", 500); } GOFLY.flashTitleFunc=function(){ this.titleNum++; if (this.titleNum >=3) { this.titleNum = 1; } if (this.titleNum == 1) { document.title = '【】' + this.originTitle; } if (this.titleNum == 2) { document.title = '【new message】' + this.originTitle; } }