UNPKG

mta-hybird-analysis

Version:

mta app link h5 analysis

7 lines 2.24 kB
function MtaLoadURL(b){var a=document.body;var c=document.createElement("iframe");c.setAttribute("src",b);c.setAttribute("style","display:none;");c.setAttribute("height","0px");c.setAttribute("width","0px");c.setAttribute("frameborder","0");a.appendChild(c);c.parentNode.removeChild(c)}function MtaPushData(b,a,c){c=MtaUrlEncode(c);a=JSON.stringify({methodName:a,args:c});MtaLoadURL(b.url_flag+":"+a)} function MtaGetReferer(){var b=MtaGetPageInfo(document.referrer);return{rdm:b.dm,rurl:b.path,rarg:b.search,rhash:b.hash}} function MtaGetPageInfo(b){if(void 0===b){var a=window.location;b=a.host;var c=a.pathname;var d=a.search.substr(1);a=a.hash}else a=b.match(/\w+:\/\/((?:[\w-]+\.)+\w+)(?::\d+)?(\/[^\?\\"'\|:<>]*)?(?:\?([^'"\\<>#]*))?(?:#(\w+))?/i)||[],b=a[1],c=a[2],d=a[3],a=a[4];void 0!==a&&(a=a.replace(/"|'|<|>/ig,"M"));if(d)for(var e=d.split("&"),f=0,h=e.length;f<h;f++)if(-1!=e[f].indexOf("=")){var g=e[f].indexOf("=");e[f].slice(0,g);e[f].slice(g+1)}return{dm:b,path:c,search:d,hash:a}} function MtaUrlEncode(b){var a={},c;for(c in b)"object"!==typeof b[c]?a[encodeURIComponent(c)]=encodeURIComponent(b[c]):a[encodeURIComponent(c)]=MtaUrlEncode(b[c]);return a} module.exports={conf:{},init:function(){var b={version:0,url_flag:"tencentMtaHyb"},a=window.navigator.userAgent.match(/TencentMTA\/([0-9.]{1,})/);null!=a&&2===a.length&&(b.version=a[1]);this.conf=b},setLoginUin:function(b){if(!this.versionControl("setLoginUin"))return!1;MtaPushData(this.conf,"onUserLogin",{uin:b})},pageBasicStats:function(b){if(!this.versionControl("pageBasicStats")||!b||"undefined"==typeof b.title||0==b.title)return!1;var a={};b=[MtaGetPageInfo(),{title:b.title},MtaGetReferer(), {timestamp:(new Date).getTime()}];for(var c=b.length,d=0;d<c;d++)for(var e in b[d])a[e]="undefined"==typeof b[d][e]?"":b[d][e];MtaPushData(this.conf,"trackPage",a)},eventStats:function(b,a){if(!this.versionControl("eventStats"))return!1;var c={};c.id=b;c.param={};if("object"===typeof a)for(var d in a)Array.isArray(a[d])||(c.param[d]=a[d]);MtaPushData(this.conf,"trackKVEvent",c)},versionControl:function(b){var a=this.conf;if(0>=a.version)return!1;var c={eventStats:1,pageBasicStats:1,setLoginUin:1}; return"undefined"===typeof c[b]||c[b]>a.version?!1:!0}};