📄 elf_comm.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 + -