forked from CoboGlobal/developer-site
-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
1 lines (1 loc) · 8.62 KB
/
script.js
1
"use strict";const sdk=(function(a){var c={},e=[],d={parmas:{},device:{}},b=[0,0,1000,3000,5000,10000,15000,30000,45000,60000,120000];e.push(["Target","a","img","span","p","button","div","use","h2","svg"]);c.uuid=function(){return"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".replace(/[xy]/g,function(h){var g=Math.random()*16|0,f=h=="x"?g:(g&3|8);return f.toString(16);});};c.indexOf=function(f,h){var g;if(Array.prototype.indexOf){return f.indexOf(h);}else{for(g=0;g<f.length;g++){if(f[g]===h){return g;}}return -1;}};c.on=function(h,g,f){if(h.addEventListener){h.addEventListener(g,f,false);}else{h.attachEvent("on"+g,function(i){return f.call(h,i);},false);}};c.remove=function(h,g,f){if(h.removeEventListener){h.removeEventListener(g,f);}else{h.detachEvent("on"+g,function(i){return f.call(h,i);},true);}};c.normalize=function(g){var f=document.createElement("a");f.setAttribute("href",g);return f.href;};c.copyObj=function(f){var h={},g;for(g in f){h[g]=f[g];}return h;};d.getCollectDomain=function(){d.collectdomain="https://collect.cobo.com";};d.getDeviceIdDomain=function(){d.deviceiddomain="https://collect.cobo.com";};d.getCollectUrl=function(){d.collecturl=this.collectdomain+"/data.php";};d.getDeviceIdUrl=function(){d.deviceidurl=this.deviceiddomain+"/pages/deviceId.html";};d.updatePageInfo=function(){if(document){this.sourceUrl=this.origin||document.referrer||"";this.currentUrl=this.current||document.URL||"";this.parmas.title=document.title||"";this.parmas.host=document.domain||"";}};d.setParames=function(){var f;d.updatePageInfo();for(f in e){switch(e[f][0]){case"Target":d.target=e[f].slice(1);break;default:break;}}if(e.syserror&&e.syserror.length){this.parmas.syserror=e.syserror;e.syserror=[];}else{delete this.parmas.syserror;}};d.getParames=function(){return this.parmas;};d.send=function(l){var m,h=new Date(new Date().getTime()+30*60*1000).toUTCString();if(localStorage.getItem("PageSessionID")||localStorage.getItem("deviceCode")){l.sid=localStorage.getItem("PageSessionID")||localStorage.getItem("deviceCode");}else{if(localStorage.getItem("475627100")){try{l.sid=JSON.parse(localStorage.getItem("475627100")).val;}catch(g){l.sid=c.uuid();try{localStorage.setItem("PageSessionID",l.sid);}catch(g){}}}else{l.sid=c.uuid();try{localStorage.setItem("PageSessionID",l.sid);}catch(g){}}}if(document.cookie){var k=document.cookie.split(";");for(var j=0;j<k.length;j++){if(k[j].indexOf("_visitId")>-1){l.vid=k[j].split("=")[1];}}}if(!l.vid){l.vid=c.uuid();}document.cookie="_visitId="+l.vid+"; expires="+h+"; path=/";if(d.deviceId&&d.deviceId.deviceId){l.did=d.deviceId.deviceId;}else{l.did="";}if(document.cookie){var k=document.cookie.split("; "),j;for(j=0;j<k.length;j++){if(k[j].indexOf("user_name")>-1){l.uid=btoa(decodeURIComponent(k[j].split("=")[1]));}}}if(document.body.getAttribute("uid")){l.uid=document.body.getAttribute("uid");}if(document.body.getAttribute("oid")){l.oid=document.body.getAttribute("oid");}l.url=encodeURI(d.currentUrl);l.ref=encodeURI(d.sourceUrl);l.type="SDK";if(window.XMLHttpRequest){m=new XMLHttpRequest();}else{m=new ActiveXObject("Microsoft.XMLHTTP");}const f=this.collecturl;m.open("POST",f);m.setRequestHeader("Content-Type","application/json");m.setRequestHeader("X-Source-Url",encodeURI(d.sourceUrl));m.setRequestHeader("X-Current-Url",encodeURI(d.currentUrl));m.withCredentials=false;m.send(JSON.stringify(l));};d.sendEvent=function(){var f=this,g=f.getParames();f.send(g);};d.sendHeartbeat=function(f,i){var h=this,g=b[f]-b[f-1];if(h.timerId){clearTimeout(h.timerId);}h.timerId=setTimeout(function(){i.ts=new Date().getTime();i.idx=f-1;h.send(i);f+=1;if(f<b.length){h.sendHeartbeat(f,i);}}.bind(this),g);};d.clickHandler=function(i){var h=d,g=i.target||i.srcElement,f=g.nodeName.toLowerCase();h.parmas&&h.parmas.PageElement&&delete h.parmas.PageElement;if(f=="body"||f=="html"||f==""){return 0;}if(h.openCollect==true&&(h.target&&c.indexOf(h.target,f)>-1||g.getAttribute("collect"))){h.parmas.cid=g.innerText||"";h.parmas.href=g.href||"";h.parmas.tag=f;if(g.className){h.parmas.cls=g.className||"";}if(g.parentElement&&g.parentElement.className){h.parmas.pcls=g.parentElement.className||"";}if(g.parentElement&&g.parentElement.innerText){h.parmas.pcid=g.parentElement.innerText||"";}h.parmas.act="click";h.setParames();h.parmas.ts=new Date().getTime();h.sendEvent();}};d.beforeUnloadHandler=function(){delete d.parmas.cid;delete d.parmas.pcid;delete d.parmas.href;delete d.parmas.cls;delete d.parmas.pcls;delete d.parmas.tag;d.parmas.act="unload";if(d.parmas&&d.parmas.ts&&(new Date().getTime()-d.parmas.ts)>5){d.parmas.ts=new Date().getTime();d.setParames();d.sendEvent();}};d.onPopStateHandler=function(){if(d.loadEventSend){if(d.parmas&&d.parmas.ts&&(new Date().getTime()-d.parmas.ts)>5){if(typeof Promise=="function"){var f=function(){var g=new Promise(function(i,h){delete d.parmas.cid;delete d.parmas.pcid;delete d.parmas.href;delete d.parmas.cls;delete d.parmas.pcls;delete d.parmas.tag;d.parmas.act="insideload";d.current=document.URL;d.setParames();d.parmas.ts=new Date().getTime();d.loaded=c.copyObj(d.getParames());d.sendHeartbeat(1,d.loaded);d.origin=document.URL;i();});return g;};}else{delete d.parmas.cid;delete d.parmas.pcid;delete d.parmas.href;delete d.parmas.cls;delete d.parmas.pcls;delete d.parmas.tag;d.parmas.act="insideload";d.current=document.URL;d.setParames();d.parmas.ts=new Date().getTime();d.loaded=c.copyObj(d.getParames());d.sendHeartbeat(1,d.loaded);d.origin=document.URL;}}}};d.onPushStateHandler=function(f){if(d.loadEventSend){if(d.parmas&&d.parmas.ts&&(new Date().getTime()-d.parmas.ts)>5){delete d.parmas.cid;delete d.parmas.pcid;delete d.parmas.href;delete d.parmas.cls;delete d.parmas.pcls;delete d.parmas.tag;d.parmas.act="insideload";d.current=c.normalize(f.url);d.setParames();d.parmas.ts=new Date().getTime();d.loaded=c.copyObj(d.getParames());d.sendHeartbeat(1,d.loaded);d.origin=document.URL;}}};d.onHashChangeHandler=function(f){if(d.loadEventSend){if(d.parmas&&d.parmas.ts&&(new Date().getTime()-d.parmas.ts)>5){delete d.parmas.cid;delete d.parmas.pcid;delete d.parmas.href;delete d.parmas.cls;delete d.parmas.pcls;delete d.parmas.tag;d.parmas.act="insideload";d.current=document.URL;d.setParames();d.parmas.ts=new Date().getTime();d.loaded=c.copyObj(d.getParames());d.sendHeartbeat(1,d.loaded);d.origin=document.URL;}}};d.onErrorHandler=function(g){var f=d;f.parmas.cid=g.message||"";f.parmas.act="error";f.parmas.href=g.filename||"";f.parmas.cls=g.lineno||"";f.parmas.pcls=g.colno||"";if(g.error&&g.error.stack){f.parmas.pcid=g.error.stack||"";}else{f.parmas.pcid="";}f.parmas.tag="";f.setParames();f.parmas.ts=new Date().getTime();f.sendEvent();};d.event=function(){var f=["click"],g;for(g=0;g<f.length;g++){c.on(document.body,f[g],d.clickHandler);}c.on(window,"beforeunload",d.beforeUnloadHandler);c.on(window,"popstate",d.onPopStateHandler);c.on(window,"hashchange",d.onHashChangeHandler);c.on(window,"error",d.onErrorHandler);};d.setIframe=function(){var g=this,f=document.createElement("iframe");f.id="__sdk_frame";f.src=this.deviceidurl;f.style.display="none";document.body.appendChild(f);f.onload=function(){f.contentWindow.postMessage("cobo-loaded","*");};c.on(window,"message",function(h){if(!h.data.type||h.data.type!=="cobo-loaded"){return;}g.deviceId=g.deviceId?g.deviceId:h.data;if(h.data){g.parmas.act="loaded";g.parmas.ts=new Date().getTime();g.setParames();g.loaded=c.copyObj(g.getParames());g.sendHeartbeat(1,g.loaded);g.origin=document.URL;}});};d.isupload=function(){var g=null;if(window.XMLHttpRequest){g=new XMLHttpRequest();}else{g=new ActiveXObject("Microsoft.XMLHTTP");}g.onreadystatechange=function(){if(g.readyState==4){if(g.status==403){d.openCollect=false;c.remove(window,"popstate",d.onPopStateHandler);c.remove(window,"beforeunload",d.beforeUnloadHandler);d.onPushStateHandler=function(){return false;};}else{if(!d.loadEventSend){d.loadEventSend="collected";d.openCollect=true;d.setIframe();d.event();}}}};const f=this.collecturl;g.open("GET",f);g.withCredentials=false;g.send();};d.onload=function(){d.isloaded=true;d.isupload();};d.init=function(){var f=this;f.getCollectDomain();f.getDeviceIdDomain();f.getCollectUrl();f.getDeviceIdUrl();(function(h){var g=h.replaceState;if(g){h.replaceState=function(j,k){var i=arguments[2];if(typeof d.onPushStateHandler=="function"){d.onPushStateHandler({state:j,param:k,url:i});}return g.apply(h,arguments);};}})(window.history);(function(h){var g=h.pushState;if(g){h.pushState=function(j,k){var i=arguments[2];if(typeof d.onPushStateHandler=="function"){d.onPushStateHandler({state:j,param:k,url:i});}return g.apply(h,arguments);};}})(window.history);if((document.readyState=="complete"||document.readyState=="interactive")&&!d.isloaded){d.onload();}else{c.on(document,"DOMContentLoaded",d.onload);}delete f.parmas.syserror;};d.init();})(window);