// 160615console.log("udc foot js load started.") function interceptIntActDatCol(){ //1 添加拦截器,用于在页面提交前采集表单等数据,并缓存到主框架/cookie里,处理页面提交前的交互数据 //1.1 采集点href导致页面提交的交互数据 /*var as = document.getElementsByTagName("a"); for(var i=0; i0){ vForm = vForms[0]; } //2.采集数据,兼容表单用js方法form.submit()提交表单 collIntActDat(vForm, null); }catch(ex){} if(curOnbeforeunload){ var vRet = curOnbeforeunload(); if(vRet){ return vRet; } } } //1.4采集触发页面跳转的按钮点击事件 $("button,input[type='button'],input[type='submit'],input[type='reset'],input[type='image']").on("click", function(){ $("body").attr("sbtBtnId", encodeURIComponent($(this).attr("id")?$(this).attr("id"):"")).attr("sbtBtnName", encodeURIComponent($(this).attr("name")?$(this).attr("value"):"")); }); } //do data collecting function collIntActDat(aForm, aHref){ if(top.IS_UDC_INEACT_DATA_CACHED==true){//控制onsubmit/onbeforeunload触发的调用只执行一次 return; } top.IS_UDC_INEACT_DATA_CACHED = true; //must do it before use udc_ebsMain instance udc_ebsMain.setSubmitForm(aForm); udc_ebsMain.setAHref(aHref); //把清理延后到再次缓存数据前 20160614 //1.4 清理已发送的指标项 // 160615console.log("4.清理已发送的指标项"); udc_ebsMain.clearUDCDat(); // 为再次缓存数据做准备 var vIntActDat = udc_ebsMain.collIteActUDCDat(); if((window.top!=window) && (window.location.href.indexOf("TXCODE=CLOGIN")==-1)){//包含在主框架中的页面 try{ var vDiv = window.top.document.getElementById("DOM_UDC_CACHEDAT"); if(!vDiv){ initMainFrmCacheDiv(); } vDiv.setAttribute("udc_divintactdat", vIntActDat); }catch(ex){} }else{//不包含在主框架中的页面,如登录页 try{ top.document.cookie="udc_ckintactdat=" + decodeURIComponent(vIntActDat) + "; path=/"; }catch(ex){} } } // 定义udc_ebsHeader,udc_ebsMain变量 var udc_ebsHeader=null, udc_ebsMain=null; function clearActDatCache() { try { //清理div udc_intactdat属性缓存数据、cookie udc_cachedat缓存数据 var vDiv = window.top.document.getElementById("DOM_UDC_CACHEDAT"); if (vDiv && vDiv.getAttribute("udc_divintactdat")) { vDiv.setAttribute("udc_divintactdat", ""); } //删除cookie udc_tmpcachedat var vDate = new Date(); vDate.setTime(vDate.getTime() - 10000); if (_udc_getcookie("udc_ckintactdat")) { top.document.cookie = "udc_ckintactdat=; expire=" + vDate.toGMTString() + "; path=/"; } } catch (ex) { } } // 执行采集 function doDataCollect () { try { if (top.DAT_USERBASE && top.DAT_USERBASE.PRI_AGRE === '1') { // 160615console.log("UDC_ENABLE_DATACOLL:" + UDC_ENABLE_DATACOLL); // 160615console.log("0.启用数据采集:" + (typeof(UDC_ENABLE_DATACOLL)!="undefined" && true==UDC_ENABLE_DATACOLL)); if (typeof (UDC_ENABLE_DATACOLL) != "undefined" && true == UDC_ENABLE_DATACOLL) { try { (Number.prototype.toFixed) ? UDC_JS_ver.push("1.5") : false; ([].indexOf && [].forEach) ? UDC_JS_ver.push("1.6") : false; //((function(){try {[a,b] = [0,1];return true;}catch(ex) {return false;}})())?UDC_JS_ver.push("1.7"):false; ([].reduce && [].reduceRight && JSON) ? UDC_JS_ver.push("1.8") : false; ("".trimLeft) ? UDC_JS_ver.push("1.8.1") : false; UDC_JS_ver.supports = function () { if (arguments[0]) return (!!~this.join().indexOf(arguments[0] + ",") + ","); else return (this[this.length - 1]); } } catch (ex) { try { UDC_JS_ver.supports = function () { return null; } } catch (ee) { } } // 160615console.log("//0-1 true" + window.onload); //var vsettedonload = window.onload; //window.onload = function(){ // 160615console.log("//0-2 window.onload = function()"); //var vsettedonloadRet; //if(vsettedonload){ // vsettedonloadRet = vsettedonload(); //} try { udc_ebsHeader = new UDC_EBS_HEADER(0); udc_ebsHeader.doUDCDateCollect(); udc_ebsMain = new UDC_EBS_MAIN(); //1.1 为form、href、页面unload前添加交互数据采集事件(采集表单提交时的数据,用于和表单提交后页面加载完采集的指标项整合起来,作为完整采集数据) // 160615console.log("1.1为form、href、页面unload前添加交互数据采集事件"); interceptIntActDatCol();//表单提交或页面unload时采集当前页交互数据,并缓存 //1.2 采集当前页面中的指标数据" // 160615console.log("1.2采集当前页面中的指标数据"); udc_ebsMain.collPageDat();//取缓存数据 //1.3 拼装数据指标数据" // 160615console.log("1.3拼装数据指标数据"); var vUDCDat = udc_ebsMain.assembleUDCInfos(); //1.4 ajax发数据 // 160615console.log("1.4ajax发数据采集数据:"+ vUDCDat); udc_ebsMain.sendUDCDate(vUDCDat); try{ if(top.DAT_ENVBASE && "1"==top.DAT_ENVBASE.ON_DATCOL_DBSNDNANHU){ var vDxhSndRate = (top.DAT_ENVBASE && top.DAT_ENVBASE.UDC_DBSDXH_PERCENT)?parseFloat(top.DAT_ENVBASE.UDC_DBSDXH_PERCENT):0; if(Math.random() < vDxhSndRate){ udc_ebsMain.sendUDCDateDxh(vUDCDat); }else{ udc_ebsMain.sendUDCDateNanHu(vUDCDat); } } }catch(ex){} //1.5 清理缓存数据 // 160615console.log("1.5清理缓存数据"); clearActDatCache(); // 160615console.log("1.6成功结束"); //广告数据异步加载,延迟处理 window.setTimeout(function () { udc_ebsMain.collPageDat_Ads(); if (udc_ebsMain.getAD_INFO() && udc_ebsMain.getAD_INFO().length > 0) { udc_ebsMain.setIS_PAGE_VIEW("2"); var vAdShowDat = udc_ebsMain.assembleUDCInfos(); //1.4 ajax发数据 // 160615console.log("1.4ajax发数据采集数据:"+ vUDCDat); udc_ebsMain.sendUDCDate(vAdShowDat); try{ if(top.DAT_ENVBASE && "1"==top.DAT_ENVBASE.ON_DATCOL_DBSNDNANHU){ var vDxhSndRate = (top.DAT_ENVBASE && top.DAT_ENVBASE.UDC_DBSDXH_PERCENT)?parseFloat(top.DAT_ENVBASE.UDC_DBSDXH_PERCENT):0; if(Math.random() < vDxhSndRate){ udc_ebsMain.sendUDCDateDxh(vUDCDat); }else{ udc_ebsMain.sendUDCDateNanHu(vUDCDat); } } }catch(ex){} } }, 2500); // 160615console.log("6.成功结束"); //2.1绑定广告点击事件 $("body").on('click', "a[advNo],img[advNo]", function () { udc_ebsMain.setIS_PAGE_VIEW("0"); var vAdInfo = "{\"key\":\"" + $(this).attr("advNo") + "\",\"value\":\"" + $(this).attr("advResId") + "\"}"; vAdInfo = "{\"adInfo\":[" + vAdInfo + "]}"; udc_ebsMain.setAD_INFO(vAdInfo); var vAdClkDat = udc_ebsMain.assembleUDCInfos(); //ajax发数据 udc_ebsMain.sendUDCDate(vAdClkDat); try{ if(top.DAT_ENVBASE && "1"==top.DAT_ENVBASE.ON_DATCOL_DBSNDNANHU){ var vDxhSndRate = (top.DAT_ENVBASE && top.DAT_ENVBASE.UDC_DBSDXH_PERCENT)?parseFloat(top.DAT_ENVBASE.UDC_DBSDXH_PERCENT):0; if(Math.random() < vDxhSndRate){ udc_ebsMain.sendUDCDateDxh(vUDCDat); }else{ udc_ebsMain.sendUDCDateNanHu(vUDCDat); } } }catch(ex){} }); } catch (e) { //console.warn("数据采集异常,"+e.name+","+e.message); } //if(vsettedonloadRet != undef){ // return vsettedonloadRet; //} //} } else { clearActDatCache(); } } } catch (error) { throw error } }; $(function () { try { top.Observer && top.Observer.regist('runDataCollect', doDataCollect); } catch (error) {} doDataCollect(); }) // 160615console.log("udc foot js load finished.")