// JavaScript Document var logUa=window.navigator.userAgent.toLowerCase(); var current_id = uuid(); window.track_ids = { current_id: current_id, pre_id: "" } var pvlog = 0 $(function () { setTimeout(function () { if (!pvlog) { pvlog = 2 cpslog([701]) } }, 3000) window.addEventListener('message', function (e) { if (e.data && e.data.pre_id) { window.track_ids.pre_id = e.data.pre_id console.log('pre_id:' + window.track_ids.pre_id) if (!pvlog) { pvlog = 1 cpslog([701]); } else if (pvlog == 2) { //ERROR事件 } document.getElementById('iframe').contentWindow.postMessage({current_id: current_id}, '*'); } }, false); $('#cps-log').append(''); }) function getBrowser(){ //1是ios 2是android 3其他 if (/iphone|ipad|ipod/.test(logUa)) { return 1; } else if (/android|adr/.test(logUa)) { return 2; }else{ return 3; } } function getAmbient(){ //1微信 2qq 3其他 if (/micromessenger/.test(logUa)) { return 1; } else if (/\sqq\//.test(logUa)) { return 2; }else{ return 3; } } function getPageName(){ //当前页面name 无就返回'' var logPathname = window.location.pathname,spname=''; if(logPathname.length>1){ spname = logPathname.substring(logPathname.lastIndexOf('/')+1,logPathname.length); } return spname; } //判断网络链接环境 function checkConnection(ua){ var arra = ['wifi','4g','3g','2g']; for(var check in arra){ if(ua.indexOf(arra[check]) > -1){ return arra[check]; } } return 'other' } //将query转化为对象 function getWindowQueryObject() { var queryStr = window.location.search.replace('?', ''); var returnObject = {}; if (queryStr) { var list = queryStr.split('&'); $.each(list, function (indexInArray) { var item = list[indexInArray].split('='); returnObject[item[0]] = item[1]; }) } return returnObject; } var logDataList = [] //cpslog([701]); //cpslog([702,{map},zone]); //cpslog([703,{map},event]); function cpslog(arr, callback){ var logPathname = window.location.pathname.toLowerCase(); var logUserId = $.fn.cookie("user_id"); var logsearch = window.location.search; var snetwork = checkConnection(logUa); logsearch = logsearch.substring(1,logsearch.length); var logData={ tag:arr[0], 'theme':theme, "uid":logUserId || '', "openid":$.fn.cookie("openid")||'', "vt":$.fn.cookie("visitor")||'', 'os':getBrowser(), 'page':logPathname, "ctx":getAmbient(), "host": document.domain, 'admin_id':($.fn.cookie('agent_id') && $.fn.cookie('agent_id') != '0') ? $.fn.cookie('agent_id'):($.fn.cookie('channel_id')||''), 'channel_id':$.fn.cookie('channel_id')||'', 'agent_id':$.fn.cookie('agent_id')||'', 'referral_id':commont.getQueryString('referral_id', logsearch, '&')||$.fn.cookie('referral_id')||'', "map":getWindowQueryObject(), "track":{}, "ext":{}, } logData.map = $.extend(logData.map, window.map); var ext_cookie = $.fn.cookie('ext') if (ext_cookie) { try{ logData.ext = $.extend(logData.ext, $.parseJSON(ext_cookie)); } catch(e) { } } logData.track = $.extend(logData.track, window.track); if (arr.length >= 2 && arr[1]) { logData = $.extend(logData, arr[1]); } if(logData.tag==702){ logData['zone']=arr[2]; } if(logData.tag==703){ logData['event']=arr[2]; } logData.network = snetwork; logDataList.push({ logData: logData, callback: callback }) postlog(); } function postlog() { var item = logDataList.splice(0, 1).pop() var logData = item.logData var logcallback = item.callback logData.map = $.extend(logData.map, window.track_ids); var sLogData = JSON.stringify(logData); $.ajax({ url: window.log_host + '/h5cps.php?json=' + encodeURIComponent(sLogData), xhrFields: { withCredentials: true }, type: 'post', success: function () { if ($.isFunction(logcallback)) { logcallback(); } }, error: function () { if ($.isFunction(logcallback)) { logcallback(); } } }); } function uuid() { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i < 36; i++) { s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); } s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010 s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01 s[8] = s[13] = s[18] = s[23] = "-"; var uuid = s.join(""); return uuid; } //书籍点击行为记录 $(document).delegate('.section-data', 'click', function () { var data = {}; data.url = window.location.href; var list = ['book_id', 'zone']; var that = $(this); $.each(list, function (k, v) { if (that.data(v) !== undefined) { data[v] = that.data(v); } else { data[v] = ''; } }); if (that.data('adid') !== undefined) { data.adid = that.data('adid'); } else{ var section = $(this).closest('.section-block'); if (section.data('swiper-slide-index') !== undefined) { data.adid = section.data('swiper-slide-index'); }else{ data.adid = section.index(); } } data.pre_id = window.track_ids.pre_id data.current_id = window.track_ids.current_id $.ajax({ data: data, url: '/index/book/savebookinfo', type: 'post', success: function (data) { console.log(data); }, error: function (msg) { console.log(msg); } }); });