countly-sdk-web
Advanced tools
Comparing version 15.8.0 to 16.2.0
{ | ||
"name": "countly-sdk-web", | ||
"version": "15.08.0", | ||
"version": "16.02.0", | ||
"description": "Countly Web SDK", | ||
@@ -5,0 +5,0 @@ "main": "lib/countly.js", |
@@ -25,2 +25,3 @@ /************ | ||
failTimeoutAmount = 60, | ||
readyToProcess = true, | ||
platform, | ||
@@ -60,2 +61,13 @@ urlParseRE = /^(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/, | ||
store("cly_id", Countly.device_id); | ||
if (location.search) { | ||
var parts = location.search.substring(1).split('&'); | ||
for (var i = 0; i < parts.length; i++) { | ||
var nv = parts[i].split('='); | ||
if (nv[0] == "cly_id") | ||
store("cly_cmp_id", nv[1]); | ||
else if(nv[0] == "cly_uid") | ||
store("cly_cmp_uid", nv[1]); | ||
} | ||
} | ||
} | ||
@@ -156,2 +168,14 @@ }; | ||
Countly.report_conversion = function(campaign_id, campaign_user_id){ | ||
campaign_id = campaign_id || store("cly_cmp_id"); | ||
campaign_user_id = campaign_user_id || store("cly_cmp_uid"); | ||
if(campaign_id && campaign_user_id) | ||
toRequestQueue({campaign_id: campaign_id, campaign_user: campaign_user_id}); | ||
else if(campaign_id) | ||
toRequestQueue({campaign_id: campaign_id}); | ||
else | ||
log("No campaign data found"); | ||
}; | ||
/************************** | ||
@@ -620,4 +644,7 @@ * Modifying custom property values of user details | ||
req = Countly.q[i]; | ||
if(req.constructor === Array && req.length > 0){ | ||
log("Processing queued call", req); | ||
log("Processing queued call", req); | ||
if(typeof req === "function"){ | ||
req(); | ||
} | ||
else if(req.constructor === Array && req.length > 0){ | ||
if(typeof Countly[req[0]] !== "undefined") | ||
@@ -657,3 +684,4 @@ Countly[req[0]].apply(null, req.slice(1)); | ||
//process request queue with event queue | ||
if(requestQueue.length > 0 && getTimestamp() > failTimeout){ | ||
if(requestQueue.length > 0 && readyToProcess && getTimestamp() > failTimeout){ | ||
readyToProcess = false; | ||
var params = requestQueue.shift(); | ||
@@ -668,2 +696,3 @@ log("Processing request", params); | ||
} | ||
readyToProcess = true; | ||
}); | ||
@@ -670,0 +699,0 @@ store("cly_queue", requestQueue, true); |
@@ -1,30 +0,30 @@ | ||
(function(b){function H(){if(x){w||y();var a={name:x,segment:w};b.add_event({key:"[CLY]_view",dur:j()-z,segmentation:a});x=null}}function n(a){if(!b.ignore_bots||!I)if(!b.app_key||!b.device_id)f("app_key or device_id is missing");else{a.app_key=b.app_key;a.device_id=b.device_id;b.country_code&&(a.country_code=b.country_code);b.city&&(a.city=b.city);null!==b.ip_address&&(a.ip_address=b.ip_address);a.timestamp=j();var e=new Date;a.hour=e.getHours();a.dow=e.getDay();r.push(a);l("cly_queue",r,!0)}}function B(){if("undefined"!== | ||
typeof b.q&&0<b.q.length){for(var a,e=0;e<b.q.length;e++)if(a=b.q[e],a.constructor===Array&&0<a.length)if(f("Processing queued call",a),"undefined"!==typeof b[a[0]])b[a[0]].apply(null,a.slice(1));else{var d=a[0].replace("userData.","");"undefined"!==typeof b.userData[d]&&b.userData[d].apply(null,a.slice(1))}b.q=[]}u&&(J&&C)&&(a=j(),60<a-t&&(b.session_duration(a-t),t=a));0<v.length&&(10>=v.length?(n({events:JSON.stringify(v)}),v=[]):(a=v.splice(0,10),n({events:JSON.stringify(a)})));if(0<r.length&& | ||
j()>K){var c=r.shift();f("Processing request",c);var g=function(a,e){f("Request Finished",e,a);a&&(r.unshift(e),l("cly_queue",r,!0),K=j()+D)};try{f("Sending XML HTTP request");var m=window.XMLHttpRequest?new window.XMLHttpRequest:window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;m.open("GET",b.url+U+"?"+V(c),!0);m.onreadystatechange=function(){4===this.readyState&&200<=this.status&&300>this.status?"function"===typeof g&&g(!1,c):4===this.readyState&&(f("Failed Server XML HTTP request", | ||
this.status),"function"===typeof g&&g(!0,c))};m.send()}catch(i){f("Failed XML HTTP request",i),"function"===typeof g&&g(!0,c)}l("cly_queue",r,!0)}setTimeout(B,E)}function y(){var a={};a._app_version=b.app_version;screen.width&&(a._resolution=""+(screen.width?screen.width:"")+"x"+(screen.height?screen.height:""));var e=navigator.appVersion,d=navigator.userAgent,c=navigator.appName,g,m;if(-1!=d.indexOf("Opera Mini"))c="Opera Mini";else if(-1!=d.indexOf("Opera"))c="Opera";else if(-1!=d.indexOf("MSIE"))c= | ||
"Internet Explorer";else if(-1!=d.indexOf("IEMobile"))c="IE Mobile";else if(-1!=d.indexOf("Chrome"))c="Chrome";else if(-1!=d.indexOf("Safari"))c="Safari";else if(-1!=d.indexOf("Firefox"))c="Firefox";else if(-1!=d.indexOf("Trident/"))c="Internet Explorer";else if(-1!=d.indexOf("FBAN/"))c="Facebook app";else if((g=d.lastIndexOf(" ")+1)<(m=d.lastIndexOf("/")))c=d.substring(g,m),c.toLowerCase()==c.toUpperCase()&&(c=navigator.appName);a._browser=c;c="unknown";g=[{s:"Windows 3.11",r:/Win16/},{s:"Windows 95", | ||
(function(b){function I(){if(x){w||y();var a={name:x,segment:w};b.add_event({key:"[CLY]_view",dur:j()-z,segmentation:a});x=null}}function n(a){if(!b.ignore_bots||!J)if(!b.app_key||!b.device_id)f("app_key or device_id is missing");else{a.app_key=b.app_key;a.device_id=b.device_id;b.country_code&&(a.country_code=b.country_code);b.city&&(a.city=b.city);null!==b.ip_address&&(a.ip_address=b.ip_address);a.timestamp=j();var d=new Date;a.hour=d.getHours();a.dow=d.getDay();r.push(a);l("cly_queue",r,!0)}}function B(){if("undefined"!== | ||
typeof b.q&&0<b.q.length){for(var a,d=0;d<b.q.length;d++)if(a=b.q[d],f("Processing queued call",a),"function"===typeof a)a();else if(a.constructor===Array&&0<a.length)if("undefined"!==typeof b[a[0]])b[a[0]].apply(null,a.slice(1));else{var e=a[0].replace("userData.","");"undefined"!==typeof b.userData[e]&&b.userData[e].apply(null,a.slice(1))}b.q=[]}u&&(K&&C)&&(a=j(),60<a-t&&(b.session_duration(a-t),t=a));0<v.length&&(10>=v.length?(n({events:JSON.stringify(v)}),v=[]):(a=v.splice(0,10),n({events:JSON.stringify(a)}))); | ||
if(0<r.length&&D&&j()>L){D=!1;var c=r.shift();f("Processing request",c);var g=function(a,d){f("Request Finished",d,a);a&&(r.unshift(d),l("cly_queue",r,!0),L=j()+E);D=!0};try{f("Sending XML HTTP request");var m=window.XMLHttpRequest?new window.XMLHttpRequest:window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;m.open("GET",b.url+V+"?"+W(c),!0);m.onreadystatechange=function(){4===this.readyState&&200<=this.status&&300>this.status?"function"===typeof g&&g(!1,c):4===this.readyState&&(f("Failed Server XML HTTP request", | ||
this.status),"function"===typeof g&&g(!0,c))};m.send()}catch(i){f("Failed XML HTTP request",i),"function"===typeof g&&g(!0,c)}l("cly_queue",r,!0)}setTimeout(B,F)}function y(){var a={};a._app_version=b.app_version;screen.width&&(a._resolution=""+(screen.width?screen.width:"")+"x"+(screen.height?screen.height:""));var d=navigator.appVersion,e=navigator.userAgent,c=navigator.appName,g,m;if(-1!=e.indexOf("Opera Mini"))c="Opera Mini";else if(-1!=e.indexOf("Opera"))c="Opera";else if(-1!=e.indexOf("MSIE"))c= | ||
"Internet Explorer";else if(-1!=e.indexOf("IEMobile"))c="IE Mobile";else if(-1!=e.indexOf("Chrome"))c="Chrome";else if(-1!=e.indexOf("Safari"))c="Safari";else if(-1!=e.indexOf("Firefox"))c="Firefox";else if(-1!=e.indexOf("Trident/"))c="Internet Explorer";else if(-1!=e.indexOf("FBAN/"))c="Facebook app";else if((g=e.lastIndexOf(" ")+1)<(m=e.lastIndexOf("/")))c=e.substring(g,m),c.toLowerCase()==c.toUpperCase()&&(c=navigator.appName);a._browser=c;c="unknown";g=[{s:"Windows 3.11",r:/Win16/},{s:"Windows 95", | ||
r:/(Windows 95|Win95|Windows_95)/},{s:"Windows ME",r:/(Win 9x 4.90|Windows ME)/},{s:"Windows 98",r:/(Windows 98|Win98)/},{s:"Windows CE",r:/Windows CE/},{s:"Windows 2000",r:/(Windows NT 5.0|Windows 2000)/},{s:"Windows XP",r:/(Windows NT 5.1|Windows XP)/},{s:"Windows Server 2003",r:/Windows NT 5.2/},{s:"Windows Vista",r:/Windows NT 6.0/},{s:"Windows 7",r:/(Windows 7|Windows NT 6.1)/},{s:"Windows 8.1",r:/(Windows 8.1|Windows NT 6.3)/},{s:"Windows 8",r:/(Windows 8|Windows NT 6.2)/},{s:"Windows NT 4.0", | ||
r:/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/},{s:"Windows ME",r:/Windows ME/},{s:"Windows Phone",r:/Windows Phone/},{s:"Android",r:/Android/},{s:"Open BSD",r:/OpenBSD/},{s:"Sun OS",r:/SunOS/},{s:"Linux",r:/(Linux|X11)/},{s:"iOS",r:/(iPhone|iPad|iPod)/},{s:"Mac OSX",r:/Mac OS X/},{s:"Mac OS",r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},{s:"QNX",r:/QNX/},{s:"UNIX",r:/UNIX/},{s:"BeOS",r:/BeOS/},{s:"OS/2",r:/OS\/2/},{s:"SearchBot",r:L}];for(var i in g)if(m=g[i],m.r.test(d)){c=m.s;break}i="unknown"; | ||
/Windows/.test(c)&&"Windows Phone"!=c&&(i=/Windows (.*)/.exec(c)[1],c="Windows");switch(c){case "Mac OSX":i=/Mac OS X (10[\.\_\d]+)/.exec(d)[1];break;case "Windows Phone":i=(/Windows Phone ([\.\_\d]+)/.exec(d)||["","8.0"])[1];break;case "Android":i=/Android ([\.\_\d]+)/.exec(d)[1];break;case "iOS":i=/OS (\d+)_(\d+)_?(\d+)?/.exec(e),i=i[1]+"."+i[2]+"."+(i[3]|0)}w=a._os=c;a._os_version=i;e=navigator.language||navigator.browserLanguage||navigator.systemLanguage||navigator.userLanguage;"undefined"!== | ||
typeof e&&(a._locale=e);if("undefined"!==typeof document.referrer&&document.referrer.length&&(e=M.exec(document.referrer))&&e[11]&&e[11]!=window.location.hostname)a._store=document.referrer;f("Got metrics",a);return a}function f(){b.debug&&"undefined"!==typeof console&&(arguments[1]&&"object"==typeof arguments[1]&&(arguments[1]=JSON.stringify(arguments[1])),console.log(Array.prototype.slice.call(arguments).join("\n")))}function j(){return Math.floor((new Date).getTime()/1E3)}function F(a,e,b){var b= | ||
b||N,c="";"object"===typeof a?"undefined"!==typeof a.stack?c=a.stack:("undefined"!==typeof a.name&&(c+=a.name+":"),"undefined"!==typeof a.message&&(c+=a.message+"\n"),"undefined"!==typeof a.fileName&&(c+="in "+a.fileName+"\n"),"undefined"!==typeof a.lineNumber&&(c+="on "+a.lineNumber),"undefined"!==typeof a.columnNumber&&(c+=":"+a.columnNumber)):c=a+"";var e=e?!0:!1,a=y(),c={_os:a._os,_os_version:a._os_version,_resolution:a._resolution,_error:c,_app_version:a._app_version,_run:j()-O,_not_os_specific:!0}, | ||
g=navigator.battery||navigator.webkitBattery||navigator.mozBattery||navigator.msBattery;g&&(c._bat=Math.floor(100*g.level));"undefined"!==typeof navigator.onLine&&(c._online=navigator.onLine?!0:!1);c._background=document.hasFocus()?!1:!0;0<A.length&&(c._logs=A.join("\n"));A=[];c._nonfatal=e;c._view=(window.location.pathname||"")+(window.location.search||"")+(window.location.hash||"");c._browser=a._browser;"undefined"!==typeof b&&(c._custom=b);try{var m=document.createElement("canvas").getContext("experimental-webgl"); | ||
c._opengl=m.getParameter(m.VERSION)}catch(i){}n({crash:JSON.stringify(c)})}function V(a){var e=[],b;for(b in a)e.push(b+"="+encodeURIComponent(a[b]));return e.join("&")}function P(a,e){for(var b={},c,g=0;g<e.length;g++)c=e[g],"undefined"!==typeof a[c]&&(b[c]=a[c]);return b}function Q(a){"undefined"==typeof a.pageY&&("number"==typeof a.clientX&&document.documentElement)&&(a.pageX=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,a.pageY=a.clientY+document.body.scrollTop+document.documentElement.scrollTop); | ||
return a}var R=!1,u=!1,U="/i",E=500,r=[],v=[],A=[],s={},N=null,J=!0,t,S=0,x=null,z=0,G=0,K=0,D=60,w,M=/^(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/,L=/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver|bingbot|Google Web Preview|Mediapartners-Google|AdsBot-Google|Baiduspider|Ezooms|YahooSeeker|AltaVista|AVSearch|Mercator|Scooter|InfoSeek|Ultraseek|Lycos|Wget|YandexBot|SiteBot|Exabot|AhrefsBot|MJ12bot|TurnitinBot|magpie-crawler|Nutch Crawler|CMS Crawler|rogerbot|Domnutch|ssearch_bot|XoviBot|netseer|digincore|fr-crawler)/, | ||
I=!1,C=!0,O;b.init=function(a){if(!R){O=j();R=!0;r=l("cly_queue")||[];s=l("cly_timed")||{};a=a||{};E=a.interval||b.interval||E;D=a.fail_timeout||b.fail_timeout||D;b.debug=a.debug||b.debug||!1;b.app_key=a.app_key||b.app_key||null;var e=b,d;if(!(d=a.device_id))if(!(d=b.device_id)){if(!(d=l("cly_id"))){var c=(new Date).getTime();d="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=(c+16*Math.random())%16|0;c=Math.floor(c/16);return("x"==a?b:b&3|8).toString(16)})}l("cly_id",d)}e.device_id= | ||
d;e=b;d=a.url||b.url||"https://cloud.count.ly";d="/"==d.substr(d.length-1)?d.substr(0,d.length-1):d;e.url=d;b.app_version=a.app_version||b.app_version||"0.0";b.country_code=a.country_code||b.country_code||null;b.city=a.city||b.city||null;b.ip_address=a.ip_address||b.ip_address||null;b.ignore_bots=a.ignore_bots||b.ignore_bots||!0;b.q=b.q||[];f("Countly initialized");L.test(navigator.userAgent)&&(I=!0);b.q.constructor!==Array&&(b.q=[]);B();l("cly_id",b.device_id)}};b.begin_session=function(a){u||(f("Session started"), | ||
t=j(),u=!0,J=a?!1:!0,a={begin_session:1},a.metrics=JSON.stringify(y()),n(a))};b.session_duration=function(a){u&&(f("Session extended",a),n({session_duration:a}))};b.end_session=function(a){u&&(a=a||j()-t,f("Ending session"),H(),u=!1,n({end_session:1,session_duration:a}),B())};b.change_id=function(a,e){var d=b.device_id;b.device_id=a;l("cly_id",b.device_id);f("Changing id");e&&n({old_device_id:d})};b.add_event=function(a){if(a.key){a.count||(a.count=1);var b=P(a,["key","count","sum","dur","segmentation"]); | ||
b.timestamp=j();var d=new Date;b.hour=d.getHours();b.dow=d.getDay();v.push(b);f("Adding event: ",a)}else f("Event must have key property")};b.start_event=function(a){s[a]?f("Timed event with key "+a+" already started"):(s[a]=j(),l("cly_timed",s))};b.end_event=function(a){"string"==typeof a&&(a={key:a});a.key?s[a.key]?(a.dur=j()-s[a.key],b.add_event(a),delete s[a.key],l("cly_timed",s)):f("Timed event with key "+key+" was not started"):f("Event must have key property")};b.user_details=function(a){f("Adding userdetails: ", | ||
a);n({user_details:JSON.stringify(P(a,"name username email organization phone picture gender byear custom".split(" ")))})};var p={},q=function(a,b,d){p[a]||(p[a]={});"$push"==d||"$pull"==d||"$addToSet"==d?(p[a][d]||(p[a][d]=[]),p[a][d].push(b)):p[a][d]=b};b.userData={set:function(a,b){p[a]=b},set_once:function(a){q(a,1,"$setOnce")},increment:function(a){q(a,1,"$inc")},increment_by:function(a,b){q(a,b,"$inc")},multiply:function(a,b){q(a,b,"$mul")},max:function(a,b){q(a,b,"$max")},min:function(a,b){q(a, | ||
b,"$min")},push:function(a,b){q(a,b,"$push")},push_unique:function(a,b){q(a,b,"$addToSet")},pull:function(a,b){q(a,b,"$pull")},save:function(){n({user_details:JSON.stringify({custom:p})});p={}}};b.track_errors=function(a){N=a;window.onerror=function(a,b,c,g,m){if("undefined"!==typeof m)F(m,!1);else{var g=g||window.event&&window.event.errorCharacter,i="";"undefined"!==typeof a&&(i+=a+"\n");"undefined"!==typeof b&&(i+="at "+b);"undefined"!==typeof c&&(i+=":"+c);"undefined"!==typeof g&&(i+=":"+g);i+= | ||
"\n";try{for(var f=[],h=arguments.callee.caller;h;)f.push(h.name),h=h.caller;i+=f.join("\n")}catch(j){}F(i,!1)}}};b.log_error=function(a,b){F(a,!0,b)};b.add_log=function(a){A.push(a)};b.stop_time=function(){C=!1;S=j()-t;G=j()-z};b.start_time=function(){C=!0;t=j()-S;z=j()-G;G=0};b.track_sessions=function(){function a(){document[e]?b.stop_time():b.start_time()}b.begin_session();b.start_time();k(window,"beforeunload",function(){b.end_session()});k(window,"unload",function(){b.end_session()});var e="hidden"; | ||
e in document?document.addEventListener("visibilitychange",a):(e="mozHidden")in document?document.addEventListener("mozvisibilitychange",a):(e="webkitHidden")in document?document.addEventListener("webkitvisibilitychange",a):(e="msHidden")in document?document.addEventListener("msvisibilitychange",a):"onfocusin"in document?(k(window,"focusin",function(){b.start_time()}),k(window,"focusout",function(){b.stop_time()})):(k(window,"focus",function(){b.start_time()}),k(window,"blur",function(){b.stop_time()}), | ||
k(window,"pageshow",function(){b.start_time()}),k(window,"pagehide",function(){b.stop_time()}))};b.track_pageview=function(a){H();x=a=a||window.location.pathname;z=j();w||y();a={name:a,visit:1,segment:w,domain:window.location.hostname};if("undefined"!==typeof document.referrer&&document.referrer.length){var e=M.exec(document.referrer);e&&(e[11]&&e[11]!=window.location.hostname)&&(a.start=1)}b.add_event({key:"[CLY]_view",segmentation:a})};b.track_clicks=function(){function a(a){if(e){e=!1;Q(a);if("undefined"!== | ||
typeof a.pageX&&"undefined"!==typeof a.pageY){var c;c=document;c=Math.max(Math.max(c.body.scrollHeight,c.documentElement.scrollHeight),Math.max(c.body.offsetHeight,c.documentElement.offsetHeight),Math.max(c.body.clientHeight,c.documentElement.clientHeight));var g;g=document;g=Math.max(Math.max(g.body.scrollWidth,g.documentElement.scrollWidth),Math.max(g.body.offsetWidth,g.documentElement.offsetWidth),Math.max(g.body.clientWidth,g.documentElement.clientWidth));b.add_event({key:"[CLY]_action",segmentation:{type:"click", | ||
x:a.pageX,y:a.pageY,width:g,height:c,domain:window.location.hostname}})}setTimeout(function(){e=!0},1E3)}}var e=!0;k(document,"mousedown",a);k(document,"mouseup",a);k(document,"click",a)};b.track_links=function(a){function e(){function e(a){var c;c=a?"undefined"!==typeof a.target?a.target:a.srcElement:window.event.srcElement;Q(a);b.add_event({key:"linkClick",segmentation:{href:c.href,text:c.innerText,id:c.id,x:a.pageX,y:a.pageY}});"undefined"!==typeof c.href&&("_blank"!==c.target&&!a.metaKey&&!a.altKey&& | ||
!a.ctrlKey&&!a.shiftKey)&&0!==c.href.replace(window.location.href.split("#")[0],"").indexOf("#")&&(b.end_session(),T(a),setTimeout(function(){window.location.href=c.href},1E3))}if("undefined"!==typeof a.getElementsByTagName)for(var c=a.getElementsByTagName("a"),g=0;g<c.length;g++)k(c[g],"click",e);else f("Can't track clicks")}a=a||document;"complete"===document.readyState?e():k(window,"load",e)};b.track_forms=function(a){function e(a){return a.name||a.id||a.type||a.nodeName}function d(a){var c=!1; | ||
k(a,"submit",function(d){if(!c){c=!0;var f={id:a.id,name:a.name,action:a.action,method:a.method},h;if("undefined"!==typeof a.elements)for(var j=0;j<a.elements.length;j++)if(h=a.elements[j],"select"==h.nodeName.toLowerCase())if("undefined"!==typeof h.multiple){var k=[];if("undefined"!==typeof h.options)for(var l=0;l<h.options.length;l++)h.options[l].selected&&k.push(h.options[l].value);f["input:"+e(h)]=k.join()}else f["input:"+e(h)]=h.options[h.selectedIndex].value;else"input"==h.nodeName.toLowerCase()? | ||
"undefined"!==typeof h.type?"checkbox"==h.type.toLowerCase()||"radio"==h.type.toLowerCase()?"undefined"!==typeof h.checked&&(f["input:"+e(h)]=h.value):f["input:"+e(h)]=h.value:f["input:"+e(h)]=h.value:"textarea"==h.nodeName.toLowerCase()?f["input:"+e(h)]=h.value:"undefined"!==typeof h.value&&(f["input:"+e(h)]=h.value);b.add_event({key:"formSubmit",segmentation:f});b.end_session();T(d);setTimeout(function(){a.submit()},1E3)}})}function c(){if("undefined"!==typeof a.getElementsByTagName)for(var b=a.getElementsByTagName("form"), | ||
c=0;c<b.length;c++)d(b[c]);else f("Can't track forms")}a=a||document;"complete"===document.readyState?c():k(window,"load",c)};var k=function(a,b,d){"undefined"!==typeof a.addEventListener?a.addEventListener(b,d,!1):a.attachEvent("on"+b,d)},T=function(a){"undefined"!==typeof window.event?window.event.returnValue=!1:"undefined"!==typeof a.preventDefault?a.preventDefault():a.returnValue=!1},l=function(a,b,d){function c(a,b,c){var d=new Date;d.setTime(d.getTime()+864E5*c);c="; expires="+d.toGMTString(); | ||
document.cookie=a+"="+b+c+"; path=/"}var d=d||!1,g=!1,f;if("undefined"!==typeof localStorage){g=!0;try{localStorage.setItem("testLocal",!0)}catch(i){g=!1}}"undefined"!==typeof b&&null!==b&&("object"===typeof b&&(b=JSON.stringify(b)),g?localStorage.setItem(a,b):d||c(a,b,30));if("undefined"===typeof b){if(g)f=localStorage.getItem(a);else if(!d)a:{a+="=";b=document.cookie.split(";");d=0;for(g=b.length;d<g;d++){for(f=b[d];" "===f.charAt(0);)f=f.substring(1,f.length);if(0===f.indexOf(a)){f=f.substring(a.length, | ||
f.length);break a}}f=null}try{f=JSON.parse(f)}catch(j){}return f}null===b&&(g?localStorage.removeItem(a):d||c(a,"",-1))}})(window.Countly=window.Countly||{}); | ||
r:/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/},{s:"Windows ME",r:/Windows ME/},{s:"Windows Phone",r:/Windows Phone/},{s:"Android",r:/Android/},{s:"Open BSD",r:/OpenBSD/},{s:"Sun OS",r:/SunOS/},{s:"Linux",r:/(Linux|X11)/},{s:"iOS",r:/(iPhone|iPad|iPod)/},{s:"Mac OSX",r:/Mac OS X/},{s:"Mac OS",r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},{s:"QNX",r:/QNX/},{s:"UNIX",r:/UNIX/},{s:"BeOS",r:/BeOS/},{s:"OS/2",r:/OS\/2/},{s:"SearchBot",r:M}];for(var i in g)if(m=g[i],m.r.test(e)){c=m.s;break}i="unknown"; | ||
/Windows/.test(c)&&"Windows Phone"!=c&&(i=/Windows (.*)/.exec(c)[1],c="Windows");switch(c){case "Mac OSX":i=/Mac OS X (10[\.\_\d]+)/.exec(e)[1];break;case "Windows Phone":i=(/Windows Phone ([\.\_\d]+)/.exec(e)||["","8.0"])[1];break;case "Android":i=/Android ([\.\_\d]+)/.exec(e)[1];break;case "iOS":i=/OS (\d+)_(\d+)_?(\d+)?/.exec(d),i=i[1]+"."+i[2]+"."+(i[3]|0)}w=a._os=c;a._os_version=i;d=navigator.language||navigator.browserLanguage||navigator.systemLanguage||navigator.userLanguage;"undefined"!== | ||
typeof d&&(a._locale=d);if("undefined"!==typeof document.referrer&&document.referrer.length&&(d=N.exec(document.referrer))&&d[11]&&d[11]!=window.location.hostname)a._store=document.referrer;f("Got metrics",a);return a}function f(){b.debug&&"undefined"!==typeof console&&(arguments[1]&&"object"==typeof arguments[1]&&(arguments[1]=JSON.stringify(arguments[1])),console.log(Array.prototype.slice.call(arguments).join("\n")))}function j(){return Math.floor((new Date).getTime()/1E3)}function G(a,d,b){var b= | ||
b||O,c="";"object"===typeof a?"undefined"!==typeof a.stack?c=a.stack:("undefined"!==typeof a.name&&(c+=a.name+":"),"undefined"!==typeof a.message&&(c+=a.message+"\n"),"undefined"!==typeof a.fileName&&(c+="in "+a.fileName+"\n"),"undefined"!==typeof a.lineNumber&&(c+="on "+a.lineNumber),"undefined"!==typeof a.columnNumber&&(c+=":"+a.columnNumber)):c=a+"";var d=d?!0:!1,a=y(),c={_os:a._os,_os_version:a._os_version,_resolution:a._resolution,_error:c,_app_version:a._app_version,_run:j()-P,_not_os_specific:!0}, | ||
g=navigator.battery||navigator.webkitBattery||navigator.mozBattery||navigator.msBattery;g&&(c._bat=Math.floor(100*g.level));"undefined"!==typeof navigator.onLine&&(c._online=navigator.onLine?!0:!1);c._background=document.hasFocus()?!1:!0;0<A.length&&(c._logs=A.join("\n"));A=[];c._nonfatal=d;c._view=(window.location.pathname||"")+(window.location.search||"")+(window.location.hash||"");c._browser=a._browser;"undefined"!==typeof b&&(c._custom=b);try{var m=document.createElement("canvas").getContext("experimental-webgl"); | ||
c._opengl=m.getParameter(m.VERSION)}catch(i){}n({crash:JSON.stringify(c)})}function W(a){var d=[],b;for(b in a)d.push(b+"="+encodeURIComponent(a[b]));return d.join("&")}function Q(a,d){for(var b={},c,g=0;g<d.length;g++)c=d[g],"undefined"!==typeof a[c]&&(b[c]=a[c]);return b}function R(a){"undefined"==typeof a.pageY&&("number"==typeof a.clientX&&document.documentElement)&&(a.pageX=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,a.pageY=a.clientY+document.body.scrollTop+document.documentElement.scrollTop); | ||
return a}var S=!1,u=!1,V="/i",F=500,r=[],v=[],A=[],s={},O=null,K=!0,t,T=0,x=null,z=0,H=0,L=0,E=60,D=!0,w,N=/^(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/,M=/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver|bingbot|Google Web Preview|Mediapartners-Google|AdsBot-Google|Baiduspider|Ezooms|YahooSeeker|AltaVista|AVSearch|Mercator|Scooter|InfoSeek|Ultraseek|Lycos|Wget|YandexBot|SiteBot|Exabot|AhrefsBot|MJ12bot|TurnitinBot|magpie-crawler|Nutch Crawler|CMS Crawler|rogerbot|Domnutch|ssearch_bot|XoviBot|netseer|digincore|fr-crawler)/, | ||
J=!1,C=!0,P;b.init=function(a){if(!S){P=j();S=!0;r=l("cly_queue")||[];s=l("cly_timed")||{};a=a||{};F=a.interval||b.interval||F;E=a.fail_timeout||b.fail_timeout||E;b.debug=a.debug||b.debug||!1;b.app_key=a.app_key||b.app_key||null;var d=b,e;if(!(e=a.device_id))if(!(e=b.device_id)){if(!(e=l("cly_id"))){var c=(new Date).getTime();e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var d=(c+16*Math.random())%16|0;c=Math.floor(c/16);return("x"==a?d:d&3|8).toString(16)})}l("cly_id",e)}d.device_id= | ||
e;d=b;e=a.url||b.url||"https://cloud.count.ly";e="/"==e.substr(e.length-1)?e.substr(0,e.length-1):e;d.url=e;b.app_version=a.app_version||b.app_version||"0.0";b.country_code=a.country_code||b.country_code||null;b.city=a.city||b.city||null;b.ip_address=a.ip_address||b.ip_address||null;b.ignore_bots=a.ignore_bots||b.ignore_bots||!0;b.q=b.q||[];f("Countly initialized");M.test(navigator.userAgent)&&(J=!0);b.q.constructor!==Array&&(b.q=[]);B();l("cly_id",b.device_id);if(location.search){a=location.search.substring(1).split("&"); | ||
for(d=0;d<a.length;d++)e=a[d].split("="),"cly_id"==e[0]?l("cly_cmp_id",e[1]):"cly_uid"==e[0]&&l("cly_cmp_uid",e[1])}}};b.begin_session=function(a){u||(f("Session started"),t=j(),u=!0,K=a?!1:!0,a={begin_session:1},a.metrics=JSON.stringify(y()),n(a))};b.session_duration=function(a){u&&(f("Session extended",a),n({session_duration:a}))};b.end_session=function(a){u&&(a=a||j()-t,f("Ending session"),I(),u=!1,n({end_session:1,session_duration:a}),B())};b.change_id=function(a,d){var e=b.device_id;b.device_id= | ||
a;l("cly_id",b.device_id);f("Changing id");d&&n({old_device_id:e})};b.add_event=function(a){if(a.key){a.count||(a.count=1);var d=Q(a,["key","count","sum","dur","segmentation"]);d.timestamp=j();var b=new Date;d.hour=b.getHours();d.dow=b.getDay();v.push(d);f("Adding event: ",a)}else f("Event must have key property")};b.start_event=function(a){s[a]?f("Timed event with key "+a+" already started"):(s[a]=j(),l("cly_timed",s))};b.end_event=function(a){"string"==typeof a&&(a={key:a});a.key?s[a.key]?(a.dur= | ||
j()-s[a.key],b.add_event(a),delete s[a.key],l("cly_timed",s)):f("Timed event with key "+key+" was not started"):f("Event must have key property")};b.user_details=function(a){f("Adding userdetails: ",a);n({user_details:JSON.stringify(Q(a,"name username email organization phone picture gender byear custom".split(" ")))})};b.report_conversion=function(a,d){a=a||l("cly_cmp_id");d=d||l("cly_cmp_uid");a&&d?n({campaign_id:a,campaign_user:d}):a?n({campaign_id:a}):f("No campaign data found")};var p={},q=function(a, | ||
d,b){p[a]||(p[a]={});"$push"==b||"$pull"==b||"$addToSet"==b?(p[a][b]||(p[a][b]=[]),p[a][b].push(d)):p[a][b]=d};b.userData={set:function(a,b){p[a]=b},set_once:function(a){q(a,1,"$setOnce")},increment:function(a){q(a,1,"$inc")},increment_by:function(a,b){q(a,b,"$inc")},multiply:function(a,b){q(a,b,"$mul")},max:function(a,b){q(a,b,"$max")},min:function(a,b){q(a,b,"$min")},push:function(a,b){q(a,b,"$push")},push_unique:function(a,b){q(a,b,"$addToSet")},pull:function(a,b){q(a,b,"$pull")},save:function(){n({user_details:JSON.stringify({custom:p})}); | ||
p={}}};b.track_errors=function(a){O=a;window.onerror=function(a,b,c,g,m){if("undefined"!==typeof m)G(m,!1);else{var g=g||window.event&&window.event.errorCharacter,i="";"undefined"!==typeof a&&(i+=a+"\n");"undefined"!==typeof b&&(i+="at "+b);"undefined"!==typeof c&&(i+=":"+c);"undefined"!==typeof g&&(i+=":"+g);i+="\n";try{for(var f=[],h=arguments.callee.caller;h;)f.push(h.name),h=h.caller;i+=f.join("\n")}catch(j){}G(i,!1)}}};b.log_error=function(a,b){G(a,!0,b)};b.add_log=function(a){A.push(a)};b.stop_time= | ||
function(){C=!1;T=j()-t;H=j()-z};b.start_time=function(){C=!0;t=j()-T;z=j()-H;H=0};b.track_sessions=function(){function a(){document[d]?b.stop_time():b.start_time()}b.begin_session();b.start_time();k(window,"beforeunload",function(){b.end_session()});k(window,"unload",function(){b.end_session()});var d="hidden";d in document?document.addEventListener("visibilitychange",a):(d="mozHidden")in document?document.addEventListener("mozvisibilitychange",a):(d="webkitHidden")in document?document.addEventListener("webkitvisibilitychange", | ||
a):(d="msHidden")in document?document.addEventListener("msvisibilitychange",a):"onfocusin"in document?(k(window,"focusin",function(){b.start_time()}),k(window,"focusout",function(){b.stop_time()})):(k(window,"focus",function(){b.start_time()}),k(window,"blur",function(){b.stop_time()}),k(window,"pageshow",function(){b.start_time()}),k(window,"pagehide",function(){b.stop_time()}))};b.track_pageview=function(a){I();x=a=a||window.location.pathname;z=j();w||y();a={name:a,visit:1,segment:w,domain:window.location.hostname}; | ||
if("undefined"!==typeof document.referrer&&document.referrer.length){var d=N.exec(document.referrer);d&&(d[11]&&d[11]!=window.location.hostname)&&(a.start=1)}b.add_event({key:"[CLY]_view",segmentation:a})};b.track_clicks=function(){function a(a){if(d){d=!1;R(a);if("undefined"!==typeof a.pageX&&"undefined"!==typeof a.pageY){var c;c=document;c=Math.max(Math.max(c.body.scrollHeight,c.documentElement.scrollHeight),Math.max(c.body.offsetHeight,c.documentElement.offsetHeight),Math.max(c.body.clientHeight, | ||
c.documentElement.clientHeight));var g;g=document;g=Math.max(Math.max(g.body.scrollWidth,g.documentElement.scrollWidth),Math.max(g.body.offsetWidth,g.documentElement.offsetWidth),Math.max(g.body.clientWidth,g.documentElement.clientWidth));b.add_event({key:"[CLY]_action",segmentation:{type:"click",x:a.pageX,y:a.pageY,width:g,height:c,domain:window.location.hostname}})}setTimeout(function(){d=!0},1E3)}}var d=!0;k(document,"mousedown",a);k(document,"mouseup",a);k(document,"click",a)};b.track_links=function(a){function d(){function d(a){var c; | ||
c=a?"undefined"!==typeof a.target?a.target:a.srcElement:window.event.srcElement;R(a);b.add_event({key:"linkClick",segmentation:{href:c.href,text:c.innerText,id:c.id,x:a.pageX,y:a.pageY}});"undefined"!==typeof c.href&&("_blank"!==c.target&&!a.metaKey&&!a.altKey&&!a.ctrlKey&&!a.shiftKey)&&0!==c.href.replace(window.location.href.split("#")[0],"").indexOf("#")&&(b.end_session(),U(a),setTimeout(function(){window.location.href=c.href},1E3))}if("undefined"!==typeof a.getElementsByTagName)for(var c=a.getElementsByTagName("a"), | ||
g=0;g<c.length;g++)k(c[g],"click",d);else f("Can't track clicks")}a=a||document;"complete"===document.readyState?d():k(window,"load",d)};b.track_forms=function(a){function d(a){return a.name||a.id||a.type||a.nodeName}function e(a){var c=!1;k(a,"submit",function(e){if(!c){c=!0;var f={id:a.id,name:a.name,action:a.action,method:a.method},h;if("undefined"!==typeof a.elements)for(var j=0;j<a.elements.length;j++)if(h=a.elements[j],"select"==h.nodeName.toLowerCase())if("undefined"!==typeof h.multiple){var l= | ||
[];if("undefined"!==typeof h.options)for(var k=0;k<h.options.length;k++)h.options[k].selected&&l.push(h.options[k].value);f["input:"+d(h)]=l.join()}else f["input:"+d(h)]=h.options[h.selectedIndex].value;else"input"==h.nodeName.toLowerCase()?"undefined"!==typeof h.type?"checkbox"==h.type.toLowerCase()||"radio"==h.type.toLowerCase()?"undefined"!==typeof h.checked&&(f["input:"+d(h)]=h.value):f["input:"+d(h)]=h.value:f["input:"+d(h)]=h.value:"textarea"==h.nodeName.toLowerCase()?f["input:"+d(h)]=h.value: | ||
"undefined"!==typeof h.value&&(f["input:"+d(h)]=h.value);b.add_event({key:"formSubmit",segmentation:f});b.end_session();U(e);setTimeout(function(){a.submit()},1E3)}})}function c(){if("undefined"!==typeof a.getElementsByTagName)for(var b=a.getElementsByTagName("form"),d=0;d<b.length;d++)e(b[d]);else f("Can't track forms")}a=a||document;"complete"===document.readyState?c():k(window,"load",c)};var k=function(a,b,e){"undefined"!==typeof a.addEventListener?a.addEventListener(b,e,!1):a.attachEvent("on"+ | ||
b,e)},U=function(a){"undefined"!==typeof window.event?window.event.returnValue=!1:"undefined"!==typeof a.preventDefault?a.preventDefault():a.returnValue=!1},l=function(a,b,e){function c(a,b,c){var d=new Date;d.setTime(d.getTime()+864E5*c);c="; expires="+d.toGMTString();document.cookie=a+"="+b+c+"; path=/"}var e=e||!1,g=!1,f;if("undefined"!==typeof localStorage){g=!0;try{localStorage.setItem("testLocal",!0)}catch(i){g=!1}}"undefined"!==typeof b&&null!==b&&("object"===typeof b&&(b=JSON.stringify(b)), | ||
g?localStorage.setItem(a,b):e||c(a,b,30));if("undefined"===typeof b){if(g)f=localStorage.getItem(a);else if(!e)a:{a+="=";b=document.cookie.split(";");e=0;for(g=b.length;e<g;e++){for(f=b[e];" "===f.charAt(0);)f=f.substring(1,f.length);if(0===f.indexOf(a)){f=f.substring(a.length,f.length);break a}}f=null}try{f=JSON.parse(f)}catch(j){}return f}null===b&&(g?localStorage.removeItem(a):e||c(a,"",-1))}})(window.Countly=window.Countly||{}); |
{ | ||
"name": "countly-sdk-web", | ||
"version": "15.08.0", | ||
"version": "16.02.0", | ||
"description": "Countly Web SDK", | ||
@@ -23,3 +23,3 @@ "main": "lib/countly.js", | ||
"author": "Countly <hello@count.ly> (https://count.ly/)", | ||
"license": "./LICENSE", | ||
"license": "https://github.com/Countly/countly-sdk-web/blob/master/LICENSE", | ||
"bugs": { | ||
@@ -26,0 +26,0 @@ "url": "https://github.com/Countly/countly-sdk-web/issues" |
#Countly Web SDK [![Build Status](https://api.travis-ci.org/Countly/countly-sdk-web.png)](https://travis-ci.org/Countly/countly-sdk-web) | ||
##Install using bower | ||
##How to get Countly Web SDK? | ||
### Available with Countly server | ||
Since Countly server 16.02, Countly Web SDK is available in your Countly server installation in `countly/frontend/express/public/sdk/web/countly.min.js` which should be available through URL as `http://yourserver.com/sdk/web/countly.min.js` | ||
###Install using package managers | ||
bower install countly-sdk-web | ||
or | ||
npm install countly-sdk-web | ||
###Or use CDN | ||
[https://cdnjs.cloudflare.com/ajax/libs/countly-sdk-web/15.08.0/countly.min.js](https://cdnjs.cloudflare.com/ajax/libs/countly-sdk-web/15.08.0/countly.min.js) | ||
##How to use Countly Web SDK? | ||
Link to the script and call helper methods based on what you want to track: sessions, views, clicks, custom events, user data, etc. | ||
More information is available at [http://resources.count.ly/docs/countly-sdk-for-web](http://resources.count.ly/docs/countly-sdk-for-web) | ||
##What's Countly? | ||
@@ -7,0 +25,0 @@ [Countly](http://count.ly) is an innovative, real-time, open source mobile analytics application. |
Sorry, the diff of this file is not supported yet
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
112229
2121
63