⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 elf_comm.js

📁 设置POS机资料、班次资料、收银员资料等。   2)灵活、细分的权限管理
💻 JS
字号:
// JavaScript Document
//author woodzheng 2007-06-25, paipai webmotion

var ELF_IS_IE            = (document.all?true:false);
var ELF_IS_TT            = (navigator.userAgent.toLowerCase().indexOf("tencenttraveler")!=-1);
var ELF_IS_MAXTHON1      = (navigator.userAgent.toLowerCase().indexOf("maxthon")!=-1);
var ELF_IS_FIREFOX       = (navigator.userAgent.toLowerCase().indexOf("firefox")!=-1);

var ELF_DEBUG_DIV_ID     = "DebugInfoOutId";
var ELF_DEBUG_CTRL		  = true;
var ELF_ERR_ALERT_CTRL   = true;
var ELF_MAX_WIN_NUM      = 100;

var ELF_WIN_STAT_NORMAL = 0;
var ELF_WIN_STAT_MIN    = 1;
var ELF_WIN_STAT_MAX    = 2;
var ELF_WIN_STAT_HIDDEN = 2;

// damn ie .............. not support window.innerWidth property
var ELF_WIN_MAX_WIDTH  = ELF_IS_IE?(screen.width -20):window.innerWidth;
var ELF_WIN_MAX_HEIGHT = ELF_IS_IE?(screen.height-250):window.innerHeight;

function CheckIE7(){
	if(navigator.appName == "Microsoft Internet Explorer"){ 
		if(navigator.appVersion.match(/7./i)=='7.'){
			return true;
		}
	}
	return false;
}

var ELF_IS_IE7 = CheckIE7();

//Class for compatible in different browsers;
function ELFCCompatibleJs(){
	this.SetClassName = function (obj,sClassName){
		if(obj){
			obj.setAttribute("class",sClassName);
			obj.setAttribute("className",sClassName);
		}
	};
	
	this.SetStyleString = function(obj,sStyleString){
		if(obj){
			obj.setAttribute("style",sStyleString);
			obj.style.cssText = sStyleString;
		}
	};
	
	this.AddEventFunction = function(obj,sEventName,oFunction){
		if(obj){
			if(ELF_IS_IE){
				obj.attachEvent("on"+sEventName,oFunction);
			}
			else{ //for firfox;
				obj.addEventListener(sEventName,oFunction,true);
			}
		}
	}
	
	this.DelEventFunction = function(obj,sEventName,oFunction){
		if(obj){
			if(ELF_IS_IE){
				obj.detachEvent("on"+sEventName,oFunction);
			}
			else{ //for firfox;
				obj.removeEventListener(sEventName,oFunction,true);
			}
		}
	}
	
	this.GetInnerText = function(obj){
		if(obj){
			if(ELF_IS_IE){
				return obj.innerText;
			}
			else{
				return obj.textContent;
			}
		}		
	}
	
	this.SetInnerText = function(obj,sText){
		if(obj){
			if(ELF_IS_IE){
				obj.innerText = sText;
			}
			else{
				obj.textContent = sText;
			}
		}
	}
	
};

//Class for showing the debug info out in developing...
function ELFCDebugInfo(){
	var m_objPDivDebug = null;
	var m_bHasInit = false;
	var m_bDebugCtrl = ELF_DEBUG_CTRL;
	
	this.SetDebugCtrl = function(bDebugCtrl){
		m_bDebugCtrl = bDebugCtrl;
	}

	this.ShowDebugInfo = function(sDebugInfo){
		if(m_bDebugCtrl){
			if(m_objPDivDebug){
				m_objPDivDebug.innerHTML = m_objPDivDebug.innerHTML + '<br>' + sDebugInfo;
				return 0;
			}
			else if(m_bHasInit == false){
				m_objPDivDebug = document.getElementById(ELF_DEBUG_DIV_ID);
				m_bHasInit = true;
				m_objPDivDebug.innerHTML = m_objPDivDebug.innerHTML + '<br>' + sDebugInfo;
				return 0;
			}
			else{
				return -1;
			}
		}
		else{
			return -1;
		}
		return 0;
	};
};

//Class for dealing the error ocured situation...
function ELFCErrInfo(_objDebugInfo){
	var m_objDebugInfo = _objDebugInfo;
	this.ShowErrInfo = function(aDataArray){
	
		if(!aDataArray){
			m_objDebugInfo.ShowDebugInfo("Init Err Info Error: ErrInfo Array is null!");
			alert("Init Err Info Error: ErrInfo Array is null!");
			return -1;
		}
		else if(aDataArray.length!=2){
			m_objDebugInfo.ShowDebugInfo("Init Err Info Error: ErrInfo Array is not valid!");
			alert("Init Err Info Error: ErrInfo Array is not valid!");
			return -1;
		}
		
		var sErrMsg = aDataArray[1];
		var iErrNo  = aDataArray[0];	
		var errInfo = sErrMsg + "ERR NO:"+ iErrNo;
		
		m_objDebugInfo.ShowDebugInfo(errInfo);
		if(ELF_ERR_ALERT_CTRL){
			alert(errInfo);
		}
		return this.iErrNo;
	};
	
};


var g_objELFCCompatibleJs = new ELFCCompatibleJs();
var g_objELFCDebugInfo    = new ELFCDebugInfo();
var g_objELFCErrInfo      = new ELFCErrInfo( g_objELFCDebugInfo );
var ELF_COMPAT   = g_objELFCCompatibleJs;
var ELF_DEBUGIN  = g_objELFCDebugInfo;
var ELF_ERRIN    = g_objELFCErrInfo;

//For Normal Debug
function EShowDebug(sContent){
	g_objELFCDebugInfo.ShowDebugInfo(sContent);
}

//For Err Debug
function EShowErr(sContent){
	g_objELFCErrInfo.ShowErrInfo(sContent);
}

// global comm class; Load Js
function ElfLoadScript(rURL,rID){
	var oldscript = document.getElementById(rID);
	var newscript = document.createElement("script");
	newscript.setAttribute("id",  rID)
	newscript.setAttribute("src", rURL);
	oldscript.parentNode.replaceChild( newscript, oldscript );
}

//some tool function
function TrimpPureBlankStr(sStr){ //with mutipule line module.
	var reg = /^[ \t\x0B\f]*(.*?)[ \t\x0B\f]*$/gm;
	//var reg = /^[ \t\x0B\f]*([^ \t\x0B\f]*?)[ \t\x0B\f]*$/g;
    return sStr.replace(reg,"$1");
}

function TrimpStr(sStr){
	var reg = /^\s*(.*?)\s*$/;
    return sStr.replace(reg,"$1");
}

function FixNum(sStr){
	var reg = /\D+/g;
	return sStr.replace(reg,"");
}

function IgnoreReturnChar(sStr){
	var reg = /[\n|\r|\t]+/g;
	return sStr.replace(reg,"");
}

function GetChnStrLen(str){
	return str.replace(/[^\x00-\xff]/g,"aa").length;
}

function MakeTheFixStrLen(str,iMaxLen){
	if(str.length > iMaxLen){
		return str.substr(0,iMaxLen)+"...";
	}
	return str;
}


function MakeTheFixChnStrLen(str,iMaxLen){
	var iChnLen = GetChnStrLen(str);
	if( iChnLen <= iMaxLen ){
		return str;
	}
	
	var pattern = /^[^\x00-\xff]$/;
	var sCompareChar = "";
	var iRealLen     = 0; //len in english
	var i = 0;       //len in chinese
	for(i=0;i<=iMaxLen;i++){	
		sCompareChar = str.charAt(i);
		if(pattern.test(sCompareChar)){
			iRealLen+=2;
		}
		else{
			iRealLen+=1;
		}
		if(iRealLen > iMaxLen){
			return str.substr(0,i)+"...";	
		}
	}
	return str;
}

function LimitInputNum(oInputObj){
	if(!oInputObj){
		return;
	}
	oInputObj.blur();
	oInputObj.value = FixNum(oInputObj.value);
	oInputObj.focus();
}

function LimitInputChnStrLen(oInputObj,iMaxLen){
	if(!oInputObj){
		return;
	}
	var str = oInputObj.value;
	var wordLength = str.replace(/[^\x00-\xff]/g,"**").length;
	var pattern = /^[^\x00-\xff]$/;
	if(wordLength>iMaxLen){
		compare_char = "";
		real_length = 0;
		for(i=0;i<iMaxLen;i++){	
			if(real_length<iMaxLen){
				compare_char = str.charAt(i);
				if(pattern.test(compare_char)){
					real_length+=2;
				}
				else{
					real_length+=1;
				}
				if(real_length>=iMaxLen)
				{
					oInputObj.blur();
					oInputObj.value=str.substr(0,i+1);	
					oInputObj.focus();
					break;
				}
			}
		}
	}
}



function ElfTimeCheck(){
	var oDate = new Date();
	var m_iStartTime = oDate.getTime();
	var m_iEndTime = 0;
	
	this.CheckHere = function(){
		var oDateEnd = new Date();
		m_iEndTime = oDateEnd.getTime();
		return "UsedTime:"+( m_iEndTime - m_iStartTime )+" ms";
	};
};

var GELF_LOAD_CHECK = null;

function CElfLoadOne(sDec,iIndex){
	this.m_iIndex = iIndex;
	this.m_sDec   = sDec;
	this.m_bIsLoad = false;
	this.m_iUsedTime = 0;
	this.m_oThis  = this;	
}

function CElfLoadCheck(){
	
	var m_iStartTime = 0;	
	var m_oThis    = this;	
	var m_iIndex   = 0; //0 is for document obj, 1 is for body
	var m_aLoadOne = new Array();
	var m_bHasSended = false;
	var m_saRetQuery = new Array();
	
	
	
	
	
	var FindOneElfByDec = function(sDec){
		for(var i = 0; i< m_aLoadOne.length; i++){
			//EShowDebug("sDec:"+sDec+" m_aLoadOne[i].m_sDec:"+m_aLoadOne[i].m_sDec+ " i:"+ i);
			if(m_aLoadOne[i].m_sDec == sDec){
				return m_aLoadOne[i];
			}
		}
		return null;
	}
	
	
	var SaveOneInfo = function(oOneTimeElf){
		var oDate = new Date();
		var iEndTime = oDate.getTime();
		var iUsedTime = iEndTime - m_iStartTime;	
		oOneTimeElf.m_iUsedTime = iUsedTime;
		oOneTimeElf.m_bIsLoad   = true;		
		//EShowDebug(" sDec:"+oOneTimeElf.m_sDec + " oOneTimeElf.m_bIsLoad:"+oOneTimeElf.m_bIsLoad);
	}	
	
	this.SetStartTime = function(iStartTime){
		m_iStartTime = iStartTime;
	}
//==========================================================	
	this.AddDocTimeMark = function(){
		var oElfTimeOne = new CElfLoadOne("doc",m_iIndex);
		m_aLoadOne.push(oElfTimeOne);
		m_iIndex++;
		document.onreadystatechange = new Function( "{GELF_LOAD_CHECK.SaveDocResult();}" );
	}
	
	this.SaveDocResult = function(){
		if(document.readyState == "complete"){
			m_oThis.SaveResult('doc');
		}		
		return;
	}
	
//==========================================================
	this.AddBodyTimeMark = function(){
		var oElfTimeOne = new CElfLoadOne("body",m_iIndex);
		m_aLoadOne.push(oElfTimeOne);
		m_iIndex++;
		document.body.onload = new Function( "{GELF_LOAD_CHECK.SaveResult('body');}" );
	}
	
//==========================================================	
	this.AddTimeMark = function(oTargetObj,sDec,sEventName){
		var sFun = "";
		if(sEventName){
			sFun = sEventName;
		}
		else{
			sFun = "load";	
		}
		var oElfTimeOne = new CElfLoadOne(sDec,m_iIndex);
		m_aLoadOne.push(oElfTimeOne);
		m_iIndex++;
		ELF_COMPAT.AddEventFunction(oTargetObj,sFun, new Function("{GELF_LOAD_CHECK.SaveResult('"+sDec+"');}"));		
	}
	
	this.SaveResult = function(sDec){	
		//EShowDebug("sDec:"+sDec);
		var oElfOne = FindOneElfByDec(sDec);		
		//EShowDebug("oElfOne:"+oElfOne+" sDec:"+sDec);
		if(oElfOne){
			SaveOneInfo(oElfOne);
			//EShowDebug("After sDec:"+oElfOne.m_sDec + " oOneTimeElf.m_bIsLoad:"+oElfOne.m_bIsLoad+" iIndex:"+oElfOne.m_iIndex);
			SendRet();
		}
	}
	
	var MakeBrowserInfo = function(){		
		var saInfo = new Array();
		try{
			saInfo.push("s=" + escape(window.location));
			saInfo.push("&b=" + escape(navigator.userAgent+":"+navigator.cpuClass+":"+navigator.platform+":"+navigator.appName+":"+navigator.systemLanguage));
			saInfo.push("&cl=" + document.cookie.length);
			//saInfo.push("&fl=" + document.fileSize);
			saInfo.push("&sd="+window.screen.height+"*"+window.screen.width);
			//saInfo.push("&cl="+document.styleSheets.length); //css length;
			saInfo.push("&cb="+navigator.cookieEnabled); //cookie enabled;
			//if(ELF_IS_IE){			
				//saInfo.push("&sl="+document.scripts.length); //scripts length
			//}
		}
		catch(e){
			saInfo.push("s="+escape(window.location)+"&b=JS_ERROR"); //scripts length
		}
		return saInfo.join("");
	}
	
	m_saRetQuery.push(MakeBrowserInfo());
	
	this.SendRetForce = function(){
		if(m_bHasSended){
			return;
		}		
		m_bHasSended = true;
		for(var i = 0; i< m_aLoadOne.length; i++){
			var oOneTimeElf = m_aLoadOne[i];			
			m_saRetQuery.push("&n"+oOneTimeElf.m_iIndex+"="+oOneTimeElf.m_sDec);
			if(oOneTimeElf.m_bIsLoad == true ){				
				m_saRetQuery.push("&t"+oOneTimeElf.m_iIndex+"="+oOneTimeElf.m_iUsedTime);
			}
			else{
				m_saRetQuery.push("&t"+oOneTimeElf.m_iIndex+"=99999");				
			}
		}		

		SendRetToServer(m_saRetQuery.join(""));		
	}
	
	var SendRetToServer = function(sUrl){
		var oScript = document.createElement("IMG");
		oScript.style.display = "none";
		document.body.appendChild(oScript);		
		oScript.src = "http://auction.paipai.com/cgi-bin/elft.js?"+sUrl;
		//EShowDebug(oScript.src);
	}
	
	this.AddRetContent = function(sDesc){
		var oDate = new Date();
		var iEndTime = oDate.getTime();
		var iUsedTime = iEndTime - m_iStartTime;			
		
		m_saRetQuery.push(":"+sDesc);
		m_saRetQuery.push(":"+iUsedTime);	
		
		m_iIndex++;
	}
		
	var SendRet = function(){
		if(m_bHasSended){
			return;
		}
		for(var i = 0; i< m_aLoadOne.length; i++){
			var oOneTimeElf = m_aLoadOne[i];
			//EShowDebug(oOneTimeElf.m_iIndex+":"+oOneTimeElf.m_bIsLoad );
			if(oOneTimeElf.m_bIsLoad == false){
				return;
			}
		}
		

		m_bHasSended = true;
		
		m_saRetQuery.push("&t=")
		for(var i = 0; i< m_aLoadOne.length; i++){
			var oOneTimeElf = m_aLoadOne[i];
			if(oOneTimeElf){				
				m_saRetQuery.push(":"+oOneTimeElf.m_sDec);
				m_saRetQuery.push(":"+oOneTimeElf.m_iUsedTime);
			}
		}		
		
		SendRetToServer(m_saRetQuery.join(""));
	}	
	
}



if( typeof(G_ELFTIMESTART) != "undefined" ){
	GELF_LOAD_CHECK = new CElfLoadCheck();
	GELF_LOAD_CHECK.SetStartTime( G_ELFTIMESTART );
	if(ELF_IS_IE){
		GELF_LOAD_CHECK.AddDocTimeMark();
		GELF_LOAD_CHECK.AddBodyTimeMark();
	}
	GELF_LOAD_CHECK.AddTimeMark( window,"window");
	setTimeout("GELF_LOAD_CHECK.SendRetForce()",50000);
}

function AddSeparating(sBefore, iStep)
{
	if( typeof(class_id) != "undefined" )
	{
		if (class_id == "3120" || class_id == "3121" || class_id == "3119"){
			document.write(__AddSeparating(sBefore, iStep));
			return;
		}
	}
	document.write(sBefore);
}


function __AddSeparating(sBefore, iStep)
{
	var aArray = new Array();
	if(sBefore){
		var iIndex = 0;
		var sSplit = sBefore.substr(iIndex,4);
		while(sSplit){
			aArray.push(sSplit);
			iIndex +=4;
			sSplit = sBefore.substr(iIndex,4);
		}
		return aArray.join(" ");
	}
	else{
		return "";
	}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -