////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; } try{ if(typeof(top.DAT_ENVBASE) != "undefined" && typeof(top.DAT_ENVBASE.CANCL_UDCUSER_CTRL) != "undefined" && "1" == top.DAT_ENVBASE.CANCL_UDCUSER_CTRL){ if("1"==_udc_getcookie("UDC_ON")){ UDC_ENABLE_DATACOLL = true; }else{ UDC_ENABLE_DATACOLL = false; } }else{ var vUserId=null; if(typeof (top.DAT_USERBASE) != "undefined"){//从主框架页获取 vUserId = top.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) { //调用ajax发送数据采集信息 try{ var vSrvUrl="/CCBIS/V6/UDC_EBSService.jsp?isAjaxRequest=true"; if(top.DAT_ENVBASE && "1"==top.DAT_ENVBASE.ON_DATCOL_DOONALLAP){ vSrvUrl=top.DAT_ENVBASE.P1ACTION.substring(0, top.DAT_ENVBASE.P1ACTION.indexOf("?")) + "_UDC_EBSService.jsp?isAjaxRequest=true"; this.doAjaxRequest(vSrvUrl, "UDCData=" + encodeURIComponent(udcdat), "POST", true, function(xmlhttp){}, function(xmlhttp){} ); }else{ if((top.DAT_ENVBASE && top.DAT_ENVBASE.UDC_DOMAIN_NAME) && top.DAT_ENVBASE.UDC_DOMAIN_NAME.indexOf("http")==0){ vSrvUrl=((top.DAT_ENVBASE && top.DAT_ENVBASE.UDC_DOMAIN_NAME)?top.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 = "https://udc.ccb.com/CCBIS/V6/UDC_EBSService.jsp?isAjaxRequest=true"; $('').attr('src', vSrvUrl + "&UDCData=" + encodeURIComponent(udcdat)).load(function() { $(this).remove(); }).error(function(){ $(this).remove(); }); } } }catch(e){} } UDC_EBS_MAIN.prototype.sendUDCDateMultiCenter = function (udcdat, centerNodeName) { //调用ajax发送数据采集信息 try{ if(typeof udcdat == "undefined" || udcdat == null){ udcdat = ""; }else if(udcdat.length>2000){ udcdat = udcdat.substring(0,2000); } var vTargetCenterDomain = "https://udc2.ccb.com";//默认南湖 if("yq"==centerNodeName){ vTargetCenterDomain = "https://udc.ccb.com"; }else if("nh"==centerNodeName){ vTargetCenterDomain = "https://udc2.ccb.com"; }else if("dxh"==centerNodeName){ vTargetCenterDomain = "https://udc3.ccb.com"; } var vSrvUrl="/CCBIS/V6/UDC_EBSService.jsp?isAjaxRequest=true"; if(top.DAT_ENVBASE && "1"==top.DAT_ENVBASE.ON_DATCOL_DOONALLAP){ var vP1Action = top.DAT_ENVBASE.P1ACTION; var vServletPathIdx = -1; if(vP1Action.indexOf("http")>-1 && (vServletPathIdx = vP1Action.indexOf("://")!=-1)){ vP1Action = vP1Action.substring(vP1Action.index("/", vServletPathIdx+3), vP1Action.indexOf("?", vServletPathIdx+3)); vSrvUrl= vTargetCenterDomain + vP1Action + "_UDC_EBSService.jsp?isAjaxRequest=true&isDbSnd=true"; this.doAjaxRequest(vSrvUrl, "UDCData=" + encodeURIComponent(udcdat), "POST", true, function(xmlhttp){}, function(xmlhttp){} ); } }else{ if((top.DAT_ENVBASE && top.DAT_ENVBASE.UDC_DOMAIN_NAME) && top.DAT_ENVBASE.UDC_DOMAIN_NAME.indexOf("http")==0){ vSrvUrl=((top.DAT_ENVBASE && top.DAT_ENVBASE.UDC_DOMAIN_NAME)?vTargetCenterDomain:"")+"/CCBIS/V6/UDC_EBSService.jsp?isAjaxRequest=true&isDbSnd=true"; $('').attr('src', vSrvUrl + "&UDCData=" + encodeURIComponent(udcdat)).load(function() { $(this).remove(); }).error(function(){ $(this).remove(); }); }else{ vSrvUrl = vTargetCenterDomain + "/CCBIS/V6/UDC_EBSService.jsp?isAjaxRequest=true&isDbSnd=true"; $('').attr('src', vSrvUrl + "&UDCData=" + encodeURIComponent(udcdat)).load(function() { $(this).remove(); }).error(function(){ $(this).remove(); }); } } }catch(e){} } UDC_EBS_MAIN.prototype.sendUDCDateNanHu = function (udcdat) { this.sendUDCDateMultiCenter(udcdat, "nh"); } UDC_EBS_MAIN.prototype.sendUDCDateDxh = function (udcdat) { this.sendUDCDateMultiCenter(udcdat, "dxh"); } //151021console.log("udc head js load finished.");