123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- // 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('<iframe src="' + window.log_iframe_host + '/cps_log.html?v=' + window.site_version + '" id="iframe" style="display: none"></iframe>');
- })
- 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);
- }
- });
- });
|