////151021console.log("udc head js load started.") var UDC_ENABLE_DATACOLL=false;//默认不启用全局数据采集 top.IS_UDC_INEACT_DATA_CACHED=false;//是否已经对页面提交前指标项做采集(兼容一个交易页面又通过iframe包含多个子交易) var UDC_JS_ver = []; function _udc_getcookie(cookiename){ var vVal = null; var arr,reg = new RegExp("(^| )" + cookiename + "=([^;]*)(;|$)"); if(arr=top.document.cookie.match(reg)) vVal = decodeURIComponent(arr[2]); return vVal; } function _udc_getquerystring(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = top.location.search.substr(1).match(reg); if(r!=null)return decodeURIComponent(r[2]); return null; } //采集用户点击事件数据 function bindClickEventCollect(type) { if(top.collecPageCollectEvt == undefined) return;//不在首页框架中页面,不采集任何事件 var pageId = window.frameElement && window.frameElement.id; var pageClickEvtArray = new Array(); //clickNum-点击事件计数器 maxClickNum-点击事件计数限制 var clickNum = 0,maxClickNum=parseInt(top.DAT_ENVBASE.UDC_CLICK_PMAX); //maxClickNum处理maxclicknum var addtionCollect = "";//TODO增加特殊采集要素 if(addtionCollect != undefined && addtionCollect!=""){ addtionCollect = ","+addtionCollect; } if(maxClickNum == 0) return;//当限制为0时,不采集任何事件 if (pageId != null && pageId != "" && self!= parent) { $("body a,input[type='button'],input[type='submit'],i"+addtionCollect).click(function () { var cid = $(this).attr("id"); var cval = ""; if (clickNum >= maxClickNum || cid == undefined || cid == "") { return; } var tagName = $(this).get(0).tagName.toLowerCase(); if(tagName == "input"){ cval = $(this).val(); } else{ cval = $(this).html(); } ctime = getNowFullDateTime(); var jStr = '{"cid":"'+ cid + '","cval":"' + cval + '","ctime":"' + ctime +'"}' var json = $.parseJSON(jStr); //console.log("bindClickEventCollect,json:"+jStr); pageClickEvtArray.push(json); clickNum++; }); //绑定页面释放时,向上层投递点击事件 var curOnbeforeunload1 = window.onbeforeunload; window.onbeforeunload=function(e){ try{ if(UDC_SRVASSIST_TXDAT == undefined || UDC_SRVASSIST_TXDAT.PAGEID == ""){ return; } //如果浏览器类型是ie8-ie10,则判断是否有a标签 if(BROWSER){ if(BROWSER.isCurrIE8() || BROWSER.isCurrIE9() || BROWSER.isCurrIE10()){ var docActEle = document.activeElement; if(docActEle && docActEle.tagName.toUpperCase() == 'A'){ var hrefStr = docActEle.getAttribute("href"); if(hrefStr && hrefStr.toLowerCase().indexOf("javascript:")>=0){ return;//如果标签href属性含有javascript调用,则跳过不处理 } } } } else{ return; } if (pageClickEvtArray.length > 0) { top.collecPageCollectEvt(UDC_SRVASSIST_TXDAT,pageClickEvtArray,window.location.href);//位于c_index.js中 pageClickEvtArray=new Array(); } }catch(ex){} if(curOnbeforeunload1){ var vRet = curOnbeforeunload1(); if(vRet){ return vRet; } } } } if(self == parent){ if (clickNum >= maxClickNum) { return; } //菜单点击采集 $("#pnav .pnav_second_box a").click(function () { var ctime = getNowFullDateTime(); var menu_id = $(this).parent().attr("id"); if(menu_id == undefined || menu_id == ""){ menu_id = "最近使用"; } else{ menu_id = "主菜单_"+menu_id; } var jStr = '{"cid":"'+ menu_id + '","cval":"' + $(this).text() + '","ctime":"' + ctime +'"}'; var json = $.parseJSON(jStr); pageClickEvtArray.push(json); var userTxData = {"PAGEID":"CCVEP_MENU","PAGE_TITLE":"个人网银菜单"}; top.collecPageCollectEvt(userTxData,pageClickEvtArray,window.location.href);//位于c_index.js中 pageClickEvtArray=new Array(); clickNum++; }); } } function getNowFullDateTime(){ var cdate = new Date(); var cyear = cdate.getFullYear() + ""; var cmounth =cdate.getMonth() + 1; cmounth = (cmounth >= 10 ? cmounth + "" : "0" + cmounth); var cday =cdate.getDate(); cday = (cday >= 10 ? cday + "" : "0" + cday); var chour = cdate.getHours(); chour = (chour >= 10 ? chour + "" : "0" + chour); var cmin = cdate.getMinutes(); cmin = (cmin >= 10 ? cmin + "" : "0" + cmin); var csec = cdate.getSeconds(); csec = (csec >= 10 ? csec + "" : "0" + csec); var cmsec = cdate.getMilliseconds() + ""; cmsec = "000".substr(cmsec.length) + cmsec; var cdateStr = cyear + cmounth + cday + chour + cmin + csec + cmsec; return cdateStr; } try{ var vUserId=null; if(typeof (top.DAT_USERBASE) != "undefined"){//从主框架页获取 vUserId = top.DAT_USERBASE.USERID } else if (storage.get('DAT_BASE') !== undefined) { vUserId = storage.get('DAT_BASE').DAT_USERBASE.USERID; } if(!vUserId){ vUserId=(document.getElementById("USERID")!=null)?document.getElementById("USERID").value:((document.getElementsByName("USERID").length>0)?document.getElementsByName("USERID")[0].value:""); } if("1"==_udc_getcookie("UDC_ON")){ UDC_ENABLE_DATACOLL = true; // if(vUserId){//没取到客户号时,默认对当前session启用数据采集 // vUserId=(vUserId.length>=6)?vUserId.substring(vUserId.length-6, vUserId.length):vUserId; // if("1"!=_udc_getcookie("UDC_S"+vUserId+"_ON")){ // UDC_ENABLE_DATACOLL=false; // } // } } //清理其他客户的cookie if(vUserId){ var vArrCookies=top.document.cookie.split("; "); var vDate=new Date(); vDate.setTime(vDate.getTime()-10000); for(var i=0;i"); } }catch(ex){} } //收集页面提交前的交互数据,如用哪个表单提交,提交了哪些数据 UDC_EBS_MAIN.prototype.collIteActUDCDat = function () { this.collFormDat(); this.collAHrefData(); var vResult = "{" + "FORM_NAME:\'" + this.getFORM_NAME() + "\'," + "FORM_ID:\'" + this.getFORM_ID() + "\'," + "TEXT_CONTENT:\'" + this.getTEXT_CONTENT() + "\'," + "COMBOX_CONTENT:\'" + this.getCOMBOX_CONTENT() + "\'," + "CHECK_BOX:\'" + this.getCHECK_BOX() + "\'," + "BUTTON_ID:\'" + this.getBUTTON_ID() + "\'," + "BUTTON_NAME:\'" + this.getBUTTON_NAME() + "\'," + "ANCHOR_NAME:\'" + this.getANCHOR_NAME() + "\'," + "ANCHOR_HREF:\'" + this.getANCHOR_HREF() + "\'," + "TARGET_HREF_NAME:\'" + this.getTARGET_HREF_NAME() + "\'" +"}"; return vResult; } UDC_EBS_MAIN.prototype.collFormDat = function(){ var varForm = this.getSubmitForm(); if(!varForm) return; try{ var strTextData="", strRadioData="", strCheckData="", strSelectData=""/*, strButtonData=""*/; var formElements = varForm.elements; for(var i=0; i0){ vAdInfo="{\"adInfo\":[" + vAdInfo +"]}"; } this.setAD_INFO(vAdInfo); } UDC_EBS_MAIN.prototype.collPageDat = function(){ if(!top.document.getElementById("DOM_UDC_CACHEDAT")){ initMainFrmCacheDiv(); } var vCacheDiv = top.document.getElementById("DOM_UDC_CACHEDAT"); //1 获取srv基础客户环境信息 if(typeof (top._DAT_USERBASE) != "undefined"){//从主框架页获取 this.setUSER_ID(top._DAT_USERBASE.USERID); this.setUSER_NAME(top._DAT_USERBASE.NAME); this.setUSER_SEX(top._DAT_USERBASE.SEX); this.setUSER_TEL(top._DAT_USERBASE.TEL); this.setSESSION_ID(top._DAT_USERBASE.USERID+"S"+top._DAT_USERBASE.SKEY); this.setIP(top._DAT_USERBASE.IP); this.setSAFECTRL_TYPE(top._DAT_USERBASE.SAFECTRL_TYPE); }else{ //1.1 从mainfame获取基础客户环境信息 try{ if(top.opener && top.opener.top && top.opener.top.DAT_USERBASE){ var vRefObj=top.opener.top; this.setUSER_ID(vRefObj.DAT_USERBASE.USERID); this.setUSER_NAME(vRefObj.DAT_USERBASE.NAME); this.setUSER_SEX(vRefObj.DAT_USERBASE.SEX); this.setUSER_TEL(vRefObj.DAT_USERBASE.TEL); this.setSESSION_ID(vRefObj.DAT_USERBASE.USERID+"S"+vRefObj.DAT_USERBASE.SKEY); this.setIP(vRefObj.DAT_USERBASE.IP); this.setSAFECTRL_TYPE(vRefObj.DAT_USERBASE.SAFECTRL_TYPE); }else if(vCacheDiv && !vCacheDiv.getAttribute("udc_srvenvdat")){ //1.2 发ajax获取srv基础客户环境信息 var vUserId = (document.getElementById("USERID")!=null)?document.getElementById("USERID").value:((document.getElementsByName("USERID").length>0)?document.getElementsByName("USERID")[0].value:""); var vSKEY = (document.getElementById("SKEY")!=null)?document.getElementById("SKEY").value:((document.getElementsByName("SKEY").length>0)?document.getElementsByName("SKEY")[0].value:""); var vBRANCHID = (document.getElementById("BRANCHID")!=null)?document.getElementById("BRANCHID").value:((document.getElementsByName("BRANCHID").length>0)?document.getElementsByName("BRANCHID")[0].value:""); if(vUserId && vSKEY){ this.setUSER_ID(vUserId); this.setSESSION_ID(vUserId+"S"+vSKEY); try{ var vSrvUrl=""; if(top.opener && top.opener.top && top.opener.top.DAT_ENVBASE && top.opener.top.DAT_ENVBASE.P1ACTION){ var vSrvUrl=top.opener.top.DAT_ENVBASE.P1ACTION; this.doAjaxRequest(vSrvUrl+"&TXCODE=UDC001&SKEY="+vSKEY+"&USERID="+vUserId, "", "POST", true, function(xmlhttp){ var vText = xmlhttp.responseText; if(vText.indexOf("SAFECTRL_TYPE")>-1){ vCacheDiv.setAttribute("udc_srvenvdat", vText); } }, function(xmlhttp){}); } }catch(ex){} } if(vCacheDiv.getAttribute("udc_srvenvdat")){//读取缓存数据 var vUDCAstDat=null; try{ eval("vUDCAstDat=" + vCacheDiv.getAttribute("udc_srvenvdat")); }catch(ex){} if(vUDCAstDat){ this.setUSER_ID(vUDCAstDat.USERID); this.setUSER_NAME(vUDCAstDat.NAME); this.setUSER_SEX(vUDCAstDat.SEX); this.setUSER_TEL(vUDCAstDat.TEL); this.setSESSION_ID(vUDCAstDat.USERID+"S"+vUDCAstDat.SKEY); this.setIP(vUDCAstDat.IP); this.setSAFECTRL_TYPE(vUDCAstDat.SAFECTRL_TYPE); } } } }catch(ex){} } //2 取之前缓存的表单交互等数据 var vIntActCachedDat = null; if(vCacheDiv && vCacheDiv.getAttribute("udc_divintactdat")){ var vAtrrVal = vCacheDiv.getAttribute("udc_divintactdat"); if(vAtrrVal){ try{eval("vIntActCachedDat=" + vAtrrVal + ";");}catch(ex){} } }else{ var vCookieDat = _udc_getcookie("udc_ckintactdat"); if(vCookieDat && vCookieDat!=""){ try{eval("vIntActCachedDat=" + vCookieDat + ";");}catch(ex){} } } if(vIntActCachedDat){ if(vIntActCachedDat.TEXT_CONTENT.indexOf("{\"name\":\"TXCODE\",\"value\":\"" + UDC_SRVASSIST_TXDAT.TXCODE + "\"}") > -1){//缓存的交互数据是上支交易的请求数据 this.setFORM_NAME(vIntActCachedDat.FORM_NAME); this.setFORM_ID(vIntActCachedDat.FORM_ID); this.setTEXT_CONTENT(vIntActCachedDat.TEXT_CONTENT); this.setCOMBOX_CONTENT(vIntActCachedDat.COMBOX_CONTENT); this.setCHECK_BOX(vIntActCachedDat.CHECK_BOX); this.setBUTTON_ID(vIntActCachedDat.BUTTON_ID); this.setBUTTON_NAME(vIntActCachedDat.BUTTON_NAME); this.setANCHOR_NAME(vIntActCachedDat.ANCHOR_NAME); this.setANCHOR_HREF(vIntActCachedDat.ANCHOR_HREF); this.setTARGET_HREF_NAME(vIntActCachedDat.TARGET_HREF_NAME); } } //3 获取交易页面数据 this.setPAGE_TYPE("PRODUCTION"); this.setPAGEID(UDC_SRVASSIST_TXDAT.PAGEID); this.setPAGE_TITLE(UDC_SRVASSIST_TXDAT.PAGE_TITLE); this.setIS_PAGE_VIEW("1"); this.setPAGE_URL(window.location.href); this.setPAGE_VISIT_TIME(UDC_SRVASSIST_TXDAT.PAGE_VISIT_TIME); this.setSOURCE_URL(document.referrer); var vLoadTime = (new Date()).getTime()-udc_ebsHeader.getDOM_LOAD_BEGIN_TIME(); this.setPAGE_LOADING_TIME(vLoadTime); this.setHTML_LOADING_TIME(vLoadTime); this.setDOM_LOADING_TIME(vLoadTime); this.setTRANSFER_BYTES(document.documentElement.outerHTML.length); this.setPAGE_RETURN_STATUS((UDC_SRVASSIST_TXDAT.ERR_CODE=="000000000000")?0:1); //页面未加载完,设置空广告数据 var vAdInfo="{\"adInfo\":[]}"; this.setAD_INFO(vAdInfo); this.setERR_MSG(UDC_SRVASSIST_TXDAT.ERR_MSG); this.setERR_CODE(UDC_SRVASSIST_TXDAT.ERR_CODE); this.setFORM_RETURN_STATUS((UDC_SRVASSIST_TXDAT.ERR_CODE=="000000000000")?0:1); //设置网站跳转过来CookieId数据 if(window.location.href.indexOf("TXCODE=CLOGIN")!=-1){ var vDate=new Date(); vDate.setTime(vDate.getTime()-10000); var vCcbComCstId=_udc_getquerystring("UDC_COOKIE"); if(_udc_getquerystring("UDC_CUSTOMER_ID")!=null&&_udc_getquerystring("UDC_CUSTOMER_ID")!=""){ vCcbComCstId = _udc_getquerystring("UDC_CUSTOMER_ID"); } if(vCcbComCstId){//记录网站cookieid用于框架页采集 this.setCOOKIE_ID(vCcbComCstId); top.document.cookie = "udc_ccbcomcid=" + decodeURIComponent(vCcbComCstId) + "; path=/"; }else{ top.document.cookie = "udc_ccbcomcid=; expire=" + vDate.toGMTString() + "; path=/"; //清理 } var vCcbSessionId=_udc_getquerystring("UDC_SESSION_ID"); if(vCcbSessionId){//记录网站sessionid用于框架页采集 this.setORI_SESSION_ID(vCcbSessionId); top.document.cookie="udc_ccbcomsid=" + decodeURIComponent(vCcbSessionId) + "; path=/"; }else{ top.document.cookie = "udc_ccbcomsid=; expire=" + vDate.toGMTString() + "; path=/"; //清理 } }else{ if(_udc_getcookie("udc_ccbcomcid")){//框架页从cookie中读取数据 this.setCOOKIE_ID(_udc_getcookie("udc_ccbcomcid")); } if(_udc_getcookie("udc_ccbcomsid")){//框架页从cookie中读取数据 this.setORI_SESSION_ID(_udc_getcookie("udc_ccbcomsid")); } } this.setBROWSE_TYPE_VERSION(navigator.userAgent); this.setOS_TYPE_VERSION(navigator.platform); this.setSCREEN_RESOLUTION(window.screen.width + "*" + window.screen.height); this.setCOLOR(window.screen.colorDepth); var hasFlash = 0;     //是否安装了flash var flashVersion = 0;   //flash版本 if(document.all) { var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash'); if(swf) { hasFlash = 1; VSwf = swf.GetVariable("$version"); flashVersion = parseInt(VSwf.split(" ")[1].split(",")[0]); } }else { if(navigator.plugins && navigator.plugins.length > 0) { var swf = navigator.plugins["Shockwave Flash"]; if(swf) { hasFlash = 1; var words = swf.description.split(" "); for(var i = 0; i < words.length; ++i) { if(isNaN(parseInt(words[i]))) continue; flashVersion = parseInt(words[i]); } } } } if(hasFlash){ this.setFLASH_VERSION(flashVersion + ".x"); }else{ this.setFLASH_VERSION("null"); } this.setJAVASCRIPT_VERSION(UDC_JS_ver.supports()); this.setJAVA_SUPPORT(navigator.javaEnabled()); this.setCOOKIE_SUPPORT(window.navigator.cookieEnabled); var vPlugs = ""; for(i=0; i < navigator.plugins.length; i++) { vPlugs = vPlugs + navigator.plugins[i].name + "," } if(vPlugs.length !=0){ vPlugs = vPlugs.substring(0, vPlugs.length-1); } this.setCLIENT_PLUGIN(vPlugs); this.setCLIENT_LANG(navigator.language||navigator.browserLanguage); this.setCLIENT_ZONE(""); this.setMECHINE_TYPE("Pc"); var vUserAgent=navigator.userAgent; if(vUserAgent.indexOf("Linux")>-1){ this.setMECHINE_TYPE("Linux"); } if(vUserAgent.indexOf("Unix")>-1){ this.setMECHINE_TYPE("Unix"); } if(vUserAgent.indexOf("Mac")>-1){ this.setMECHINE_TYPE("Mac"); } if(vUserAgent.indexOf("Android")>-1){ this.setMECHINE_TYPE("Android"); } if(vUserAgent.indexOf("iPhone")>-1){ this.setMECHINE_TYPE("iPhone"); } } UDC_EBS_MAIN.prototype.assembleUDCInfos = function () { //生成采集数据 var vAssembedUDCDat = this.getUSER_ID() + "|@|" + this.getUSER_NAME() + "|@|" + this.getUSER_AGE() + "|@|" + this.getUSER_SEX() + "|@|" + this.getUSER_TEL() + "|@|" + this.getSESSION_ID() + "|@|" + this.getORI_SESSION_ID() + "|@|" + this.getPAGE_TYPE() + "|@|" + this.getPAGEID() + "|@|" + this.getPAGE_TITLE() + "|@|" + this.getIS_PAGE_VIEW() + "|@|" + this.getPAGE_URL() + "|@|" + this.getPAGE_VISIT_TIME() + "|@|" + this.getSOURCE_URL() + "|@|" + this.getSOURCE_PAGETITLE() + "|@|" + this.getSOURCE_PAGEID() + "|@|" + this.getPAGE_LOADING_TIME() + "|@|" + this.getHTML_LOADING_TIME() + "|@|" + this.getDOM_LOADING_TIME() + "|@|" + this.getTRANSFER_BYTES() + "|@|" + this.getPAGE_RETURN_STATUS() + "|@|" + this.getEXTERNAL_SEARCH_KEYWORD() + "|@|" + this.getINTERNAL_SEARCH_KEYWORD() + "|@|" + this.getAD_INFO() + "|@|" + this.getERR_MSG() + "|@|" + this.getERR_CODE() + "|@|" + this.getFORM_NAME() + "|@|" + this.getFORM_ID() + "|@|" + this.getFORM_RETURN_STATUS() + "|@|" + this.getTEXT_CONTENT() + "|@|" + this.getCOMBOX_CONTENT() + "|@|" + this.getCHECK_BOX() + "|@|" + this.getBUTTON_ID() + "|@|" + this.getBUTTON_NAME() + "|@|" + this.getANCHOR_NAME() + "|@|" + this.getANCHOR_HREF() + "|@|" + this.getTARGET_HREF_NAME() + "|@|" + this.getPRODUCT_ID() + "|@|" + this.getPRODUCT_NAME() + "|@|" + this.getPROMPT_ID() + "|@|" + this.getIS_PROMPT() + "|@|" + this.getGOODS_NAME() + "|@|" + this.getGOODS_TYPE() + "|@|" + this.getGOODS_PRICE() + "|@|" + this.getCOOKIE_ID() + "|@|" + this.getOPER_TYPE() + "|@|" + this.getIP() + "|@|" + this.getGPS() + "|@|" + this.getDEV_TYPE() + "|@|" + this.getBROWSE_TYPE_VERSION() + "|@|" + this.getOS_TYPE_VERSION() + "|@|" + this.getSCREEN_RESOLUTION() + "|@|" + this.getCOLOR() + "|@|" + this.getFLASH_VERSION() + "|@|" + this.getJAVASCRIPT_VERSION() + "|@|" + this.getJAVA_SUPPORT() + "|@|" + this.getCOOKIE_SUPPORT() + "|@|" + this.getCLIENT_PLUGIN() + "|@|" + this.getCLIENT_LANG() + "|@|" + this.getCLIENT_ZONE() + "|@|" + this.getMECHINE_TYPE() + "|@|" + this.getAPP_VERSION() + "|@|" + this.getAPP_SOURCE() + "|@|" + this.getNET_TYPE() + "|@|" + this.getSAFECTRL_TYPE() + "|@|" + this.getCERTIFICATE_EN(); return vAssembedUDCDat; } UDC_EBS_MAIN.prototype.sendUDCDate = function (udcdat,batchData) { var DAT_ENVBASE = top.DAT_ENVBASE ? top.DAT_ENVBASE : storage.get('DAT_BASE') !== undefined ? storage.get('DAT_BASE').DAT_ENVBASE : ''; //调用ajax发送数据采集信息 try{ var vSrvUrl="/CCBIS/V6/UDC_EBSService.jsp?isAjaxRequest=true"; if(DAT_ENVBASE && "1" == DAT_ENVBASE.ON_DATCOL_DOONALLAP){ vSrvUrl=top.DAT_ENVBASE.P1ACTION.substring(0, DAT_ENVBASE.P1ACTION.indexOf("?")) + "_UDC_EBSService.jsp?isAjaxRequest=true"; this.doAjaxRequest(vSrvUrl, "UDCData=" + encodeURIComponent(udcdat), "POST", true, function(xmlhttp){}, function(xmlhttp){} ); }else{ if((DAT_ENVBASE && DAT_ENVBASE.UDC_DOMAIN_NAME) && DAT_ENVBASE.UDC_DOMAIN_NAME.indexOf("http")==0){ vSrvUrl=((DAT_ENVBASE && DAT_ENVBASE.UDC_DOMAIN_NAME) ? DAT_ENVBASE.UDC_DOMAIN_NAME : "")+"/CCBIS/V6/UDC_EBSService.jsp?isAjaxRequest=true"; $('').attr('src', vSrvUrl + "&UDCData=" + encodeURIComponent(udcdat)).load(function() { $(this).remove(); }).error(function(){ $(this).remove(); }); }else{ vSrvUrl = "http://udc.ccb.com:8101/CCBIS/V6/UDC_EBSService.jsp?isAjaxRequest=true"; $('').attr('src', vSrvUrl + "&UDCData=" + encodeURIComponent(udcdat)).load(function() { $(this).remove(); }).error(function(){ $(this).remove(); }); } } }catch(e){} } //151021console.log("udc head js load finished.");