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

📄 whhost.js

📁 realview22.rar
💻 JS
📖 第 1 页 / 共 2 页
字号:
//	WebHelp 5.10.002var gaChunks=new Array();var gaFakes=new Array();var gaDataCon=null;var gaData=new Array();var gbFindCK=false;;var gbNeedCalc=false;var gbScrl=false;var gbProcess=false;var gbReady=false;var gnCheck=0;var gnNum=0;var gnIns=-1;var gnLoad=0;var gnRef=-1;var gnMaxItems=0;var gnMaxMargin=32000;var gnNeeded=0;var gnNKI=-1;var gnRE=0;var gnScrlMgn=30;var gnSE=0;var gnVisible=0;var gnItems=0;var gnUHeight=1;var gsBCK=null;var gsChK=null;var gsCK=null;var gsLoadingDivID="LoadingDiv";var gsLoadingMsg="Loading data, please wait...";var gsSKA=null;var gsSKB=null;var gbLoadInfo=false;function onLoadXMLError(){	if(gbLoadInfo)	{		var aChunk=new Array();		projReady(aChunk);	}	else	{		var aData=new Array();		putData(aData);	}}function putDataXML(xmlDoc,sDocPath){	if(gbLoadInfo)	{		var node=xmlDoc.lastChild;		if(node)		{			var nTotal=0			var aChunk=new Array();			var oC=node.firstChild;			while(oC)			{				if(oC.nodeName=="chunkinfo")				{					var item=new Object();					item.sBK=oC.getAttribute("first");					item.sEK=oC.getAttribute("last");					item.sFileName=oC.getAttribute("url");					item.nNum=parseInt(oC.getAttribute("num"));					nTotal+=item.nNum;					item.nTotal=nTotal;					aChunk[aChunk.length]=item;				}				oC=oC.nextSibling;			}			projReady(aChunk);		}	}	else	{		var node=xmlDoc.lastChild;		if(node)		{			var aData=new Array();			var nPrev=0;			var nNext=0;			var oC=node.firstChild;			while(oC)			{				nPrev=nNext;				if(oC.nodeName=="key")				{					var sName=oC.getAttribute("name");					if(sName&&sName.length>0)					{						var sTarget=oC.getAttribute("target");						var item=new Object();						item.nType=2;						item.sName=sName;						if(sTarget)							item.sTarget=sTarget;						item.nPKOff=nPrev;						aData[aData.length]=item;						var nCurIndex=aData.length;						processKey(oC,aData,item);						nNext=aData.length-nCurIndex;						item.nNKOff=nNext;					}				}				else if(oC.nodeName=="letter")				{					var name=oC.getAttribute("name");					if(name&&name.length>0)					{						var item=new Object();						item.nType=1;						item.sName=name;						item.nPKOff=nPrev;						nNext=0;						item.nNKOff=nNext;						aData[aData.length]=item;					}				}				else if(oC.nodeName=="entry")				{					var name=oC.getAttribute("name");					var def=oC.getAttribute("value");					if(name&&name.length>0)					{						var item=new Object();						item.sName=name;						item.sDef=def;						item.nPKOff=nPrev;						nNext=0;						item.nNKOff=nNext;						aData[aData.length]=item;					}				}				oC=oC.nextSibling;			}			putData(aData);		}	}}function processKey(element,aData,item){	var i=0;	var nPrev=0;	var nNext=0;	var oC=element.firstChild;	while(oC)	{		if(oC.nodeName=="topic")		{			var name=oC.getAttribute("name");			var url=oC.getAttribute("url");			if(url&&url.length!=0)			{				if(!name||name.length==0)					name=url;				var topic=new Object();				topic.sName=name;				topic.sURL=url;				if(!item.aTopics)					item.aTopics=new Array();				item.aTopics[item.aTopics.length]=topic;			}		}		else if(oC.nodeName=="key")		{			nPrev=nNext;			var name=oC.getAttribute("name");			if(name&&name.length!=0)			{				var subItem=new Object();				subItem.sName=name;				subItem.nType=3;				subItem.nPKOff=nPrev;				aData[aData.length]=subItem;				var nCurIndex=aData.length;				processKey(oC,aData,subItem);				nNext=aData.length-nCurIndex;				subItem.nNKOff=nNext;			}		}		oC=oC.nextSibling;	}}function putData(aData){	endLoading();	var oCData=goCData;	if(oCData)	{		oCData.aKs=aData;		if(gnNKI==-1)			setTimeout("checkReady();",1);		else		{			gsSKA=getKByIdx(oCData,gnNKI);			gbNeedCalc=true;			gbScrl=true;			gnNKI=-1;			if(gsSKA)				setTimeout("checkReady();",1);			else			{				markEnd();				setTimeout("checkAgain();",50);			}		}	}}function markEnd(){	if(gbProcess)		gbProcess=false;}function endLoading(){	var oDiv=getElement(gsLoadingDivID);	if(oDiv)		oDiv.style.visibility="hidden";}function markBegin(){	gbProcess=true;}function beginLoading(){	var oDiv=getElement(gsLoadingDivID);	if(oDiv)	{		oDiv.style.top=document.body.scrollTop;		oDiv.style.visibility="visible";	}}function indexHTMLPart(){	this.sHTML="";	this.nNeeded=0;	this.nCurrent=0;	this.nConsumed=0;	this.sFK=null;	this.sLK=null;	this.addHTML=function(sHTML,nConsumed,bDown,bK,sK){		if(bDown)			this.sHTML+=sHTML;		else			this.sHTML=sHTML+this.sHTML;		this.nCurrent++;					this.nConsumed+=nConsumed;		if(bK)		{			if(!this.sFK)				this.sFK=sK;			if(!this.sLK)				this.sLK=sK;			if(bDown)				this.sLK=sK;			else				this.sFK=sK;		}	}	this.appendHTML=function(oHTML,bDown){		this.addSubHTML(oHTML,bDown);		if(!this.sFK)			this.sFK=oHTML.sFK;		if(!this.sLK)			this.sLK=oHTML.sLK;		if(bDown)			this.sLK=oHTML.sLK;		else			this.sFK=oHTML.sFK;	}			this.addSubHTML=function(oHTML,bDown){		if(bDown)			this.sHTML+=oHTML.sHTML;		else			this.sHTML=oHTML.sHTML+this.sHTML;		this.nCurrent+=oHTML.nCurrent;		this.nConsumed+=oHTML.nConsumed;				}}function getMaxUnits(){	return Math.floor(gnMaxMargin/gnUHeight)+1;}function getFakeItemsHTMLbyCount(nB,nCount){	var nMU=getMaxUnits();	var nNum=Math.floor(nCount/nMU);	var sHTML="";	for(var i=0;i<nNum;i++)		sHTML+=getFakeItemHTML(nB,nMU-1);			var nRest=nCount%nMU;	sHTML+=getFakeItemHTML(nB,nRest-1);	return sHTML;}function getFakeItemHTML(nB,nNum){	return "<h6 name=fk"+nB+" id=fk"+nB+" style=\"margin-top:"+gnUHeight*nNum+";margin-bottom:0\">&nbsp;</h6>";}function fakeItemsArea(nB,n,sKA,sKB,obj){	this.nB=nB;	this.nNum=n;	this.sKA=sKA;	this.sKB=sKB;	this.obj=obj;	this.nMargin=(n-1)*gnUHeight;	this.setNum=function(n)	{		var nLastobj=-1;		var nDelta=this.nMargin;		this.nMargin=(n-1)*gnUHeight;		nDelta=nDelta-this.nMargin;		if(n>0)		{			this.nNum=n;			var nMU=getMaxUnits();			nLastobj=Math.floor((n-1)/nMU);			if(this.obj.length)				this.obj[nLastobj].style.marginTop=((n-1)%nMU)*gnUHeight;			else				this.obj.style.marginTop=((n-1)%nMU)*gnUHeight;		}		if(this.obj.length)		{			for(var i=this.obj.length-1;i>nLastobj;i--)				removeThis(this.obj[i]);		}		else		{			if(nLastobj==-1)				removeThis(this.obj);		}		return nDelta;	}	this.insertAdjacentHTML=function(sWhere,sHTML)	{		if(sWhere=="beforeBegin")		{			if(this.obj.length)				this.obj[0].insertAdjacentHTML(sWhere,sHTML);			else				this.obj.insertAdjacentHTML(sWhere,sHTML);		}		else if(sWhere=="afterEnd")		{			if(this.obj.length)			{				if(gbMac&&gbIE5&&this.obj[this.obj.length-1].nextSibling)					this.obj[this.obj.length-1].nextSibling.insertAdjacentHTML("beforeBegin",sHTML);				else					this.obj[this.obj.length-1].insertAdjacentHTML(sWhere,sHTML);			}			else			{				if(gbMac&&gbIE5&&this.obj.nextSibling)					this.obj.nextSibling.insertAdjacentHTML("beforeBegin",sHTML);				else					this.obj.insertAdjacentHTML(sWhere,sHTML);			}		}	}	this.getBtm=function()	{		if(this.obj.length)			return this.obj[this.obj.length-1].offsetTop;		else			return this.obj.offsetTop;	}	this.getTop=function()	{		return this.getBtm()-this.nMargin;	}}function usedItems(nB,nE){	this.nB=nB;	this.nE=nE;	this.oN=null;}function checkReady(){	var len=gaChunks.length;	var bNeedLoad=false;	var aDataCon;	var s=0;	var bDown=(gsSKB==null);	var sK=bDown?gsSKA:gsSKB;	if(sK==null)	{		markEnd();		setTimeout("checkAgain();",50);		return;	}	if(!gsChK||sK!=gsChK||gnNum==0)	{		gnCheck=0;		gsChK=sK;		aDataCon=new Array();	}	else{		s=gnNum;		aDataCon=gaDataCon;	}	for(var i=gnCheck;i<len;i++)	{		var oCData=getChunkedData(i,bDown,sK);		if(oCData)		{			if(!oCData.aKs&&oCData.sFileName!=null)			{				bNeedLoad=true;				goCData=oCData;				gnNum=s;				gnCheck=i;				gaDataCon=aDataCon;				oCData.nProjId=i;				gbLoadInfo=false;				beginLoading();				loadData2(gaData[i].sPPath+gaData[i].sDPath+oCData.sFileName);				return;			}			else{				aDataCon[s++]=oCData;			}		}	}	if(!bNeedLoad)	{		gnNum=0;		gsSKA=gsSKB=gsShowK=null;				var oHTML=new indexHTMLPart();		var aPos=new Array();		var aOriPos=new Array();		var aMaxPos=new Array();		var aMinPos=new Array();				if(gbNeedCalc||gbFindCK) gnIns=0;		for(i=0;i<aDataCon.length;i++)		{			aPos[i]=getIdxPos(aDataCon[i],bDown,sK);			if(gbNeedCalc||gbFindCK)			{				gnIns+=aPos[i]+aDataCon[i].nTotal-aDataCon[i].nNum;				if(!bDown)				{					if(aPos[i]!=-1)					{						if(aDataCon[i].aKs)							gnIns+=aDataCon[i].aKs[aPos[i]].nNKOff;						else						{							var n=aPos[i]+1;							while(n<aDataCon[i].aKsOnly.length&&!aDataCon[i].aKsOnly[n])								n++;							n=n-aPos[i]-1;							gnIns+=n;						}					}				}			}			aOriPos[i]=aPos[i];			getLimit(aDataCon,aPos,aMaxPos,aMinPos,i);		}		if((gbNeedCalc||gbFindCK)&&!bDown&&gnIns!=-1)		{			gnIns+=(aDataCon.length-1)		}		if(gnIns!=-1||gbFindCK)		{			oHTML.nNeeded=gnNeeded;			var bDone=writeItems(oHTML,aDataCon,aPos,aMinPos,aMaxPos,bDown,1);			if(oHTML.nConsumed!=0)			{				var nB;				if(!bDown)					nB=gnIns-oHTML.nConsumed+1;				else					nB=gnIns;									var oldScrollPos=document.body.scrollTop;				if(insertIdxKs(nB,oHTML,gbScrl))				{					updateUsedK(aDataCon,aOriPos,aPos,bDown);					if(!gbScrl&&gbMac)					{						while(document.body.scrollTop!=oldScrollPos)							document.body.scrollTop=oldScrollPos;					}					gbScrl=false;				}				if(gbFindCK)				{					gbFindCK=false;					gbNeedCalc=true;					gsSKB=oHTML.sFK;					gnIns=-1;					setTimeout("checkReady();",50);					return;				}			}			else if(gbFindCK)			{				gbFindCK=false;				gbNeedCalc=true;				gsSKB=getFirstKeyFromPos(aDataCon,aPos);				gnIns=-1;				setTimeout("checkReady();",50);				return;			}			if(!findCKInDom()) return;			gnNeeded=gnNeeded-oHTML.nCurrent;			gnIns=-1;			markEnd();			setTimeout("checkAgain();",50);			gbNeedCalc=false;		}		else		{			if(!findCKInDom()) return;			markEnd();			setTimeout("checkAgain();",50);		}	}}function getFirstKeyFromPos(aDataCon,aPos){	var sCurrentK=getBiggestChar();	for(var i=0;i<aPos.length;i++)	{		if(aDataCon[i].aKs&&aDataCon[i].aKs.length>0&&aPos[i]>=0&&aPos[i]<aDataCon[i].aKs.length)		{			if(sCurrentK==""||				compare(sCurrentK,aDataCon[i].aKs[aPos[i]].sName)>0)			{				sCurrentK=aDataCon[i].aKs[aPos[i]].sName;			}		}	}	return sCurrentK;}function checkAgain(){	if(!gbProcess)	{		if(gsBCK!=null)		{			gsCK=gsBCK;			gsBCK=null;			findCK();		}		else		{			markBegin();			getUnitIdx(document.body.scrollTop,document.body.clientHeight);		}	}	else		setTimeout("checkAgain()",50);}function getLimit(aDataCon,aPos,aMaxPos,aMinPos,i){	aMaxPos[i]=aDataCon[i].nNum;	aMinPos[i]=-1;	var oPNode=null;	if(aDataCon[i].oUsedItems)	{		var oUsedItems=aDataCon[i].oUsedItems;		do{			if(oUsedItems.nB>aPos[i])			{				aMaxPos[i]=oUsedItems.nB;				break;			}			oPNode=oUsedItems;			oUsedItems=oUsedItems.oN;		}while(oUsedItems!=null);		if(oPNode)			aMinPos[i]=oPNode.nE;	}	else if(aDataCon[i].aKs==null)	{		aMaxPos[i]=aMinPos[i]=aPos[i];	}	if(aMinPos[i]>=aPos[i]||aMaxPos[i]<=aPos[i])	{		aMaxPos[i]=aMinPos[i]=aPos[i];	}}function getIdxPos(oIdx,bDown,sK){	var aKs=oIdx.aKs;	var nIdx;	if(bDown)		nIdx=oIdx.nNum;	else		nIdx=-1;	if(aKs!=null)	{		for(var i=0;i<aKs.length;i++)		{				if(bDown)			{				if(compare(aKs[i].sName,sK)>0)				{					nIdx=i;					break;				}			}			else			{				if(compare(aKs[i].sName,sK)<0)					nIdx=i;				else					break;			}			i+=aKs[i].nNKOff;		}	}	else if(oIdx.aKsOnly)	{		var aKsOnly=oIdx.aKsOnly;		for(var i=0;i<aKsOnly.length;i++)		{				if(aKsOnly[i])

⌨️ 快捷键说明

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