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

📄 whthost.js

📁 realview22.rar
💻 JS
📖 第 1 页 / 共 2 页
字号:
			var sPath=getPath(whichIm.src);			sPath=_getFullPath(sPath,getBookImage(nId,true));			whichIm.src=sPath;		}		if(gbMac&&gbIE5){			this.parent.document.getElementById("tocIFrame").style.width="101%";			this.parent.document.getElementById("tocIFrame").style.width="100%";		}	}	return oDiv;}function getChunkId(n){	var nCan=-1;	for(var i=0;i<gaTocs.length;i++)		if(gaTocs[i].nMI<=n&&gaTocs[i].nMI!=-1)		{			if(nCan==-1)				nCan=i;			else				if(gaTocs[i].nMI>=gaTocs[nCan].nMI)					nCan=i;		}	if(nCan!=-1)		return nCan;	else		return -1;}function getChunk(n){	if(gnCC!=-1&&gaTocs[gnCC].nMI<=n&&(gnCC==gaTocs.length-1||		gaTocs[gnCC+1].nMI>n))	{			return gaTocs[gnCC];	}	else{		gnCC=getChunkId(n);		if(gnCC!=-1)			return gaTocs[gnCC];		else			return null;	}}function getBookImage(nIdx,bClosed){	var nIdx=bClosed?0:1;	var sIcon=getItemIcon(nIdx,nIdx);	if(sIcon=="")		if(bClosed)			sIcon=giBookClose;		else			sIcon=giBookOpen;	return _getFullPath(gaProj[0].sPPath,sIcon);}function getItemImage(nIdx,bRemote){	var sIcon=getItemIcon(nIdx,0);	if(sIcon=="")		if(bRemote)			sIcon=giURLItem;		else			sIcon=giBookItem;	return _getFullPath(gaProj[0].sPPath,sIcon);}function getInnerText2(obj){	var sText=getInnerText(obj);	if(sText.length>0&&!gbOpera7)		sText=sText.substring(1);	return sText;}function expandToc(oObj,sRest,aIdList){	var len=aIdList.length;	var nPos=sRest.indexOf(gsPathSplit);	if(nPos!=-1)	{		sPart=sRest.substring(0,nPos);		sRest=sRest.substring(nPos+1);	}	else	{		sPart=sRest;		var aTagAs=getItemsByBook(oObj);		for(var s=0;s<aTagAs.length;s++)		{			var sText=getInnerText2(aTagAs[s]);			if(sText==sPart)			{				aIdList[len]=aTagAs[s];				return 1;			}		}		return 0;	}			var aChildren=getChildrenByTag(oObj,"DIV");	for(var i=0;i<aChildren.length;i++)	{		var sPId=aChildren[i].id;		if(!isPBId(sPId))			continue;		var sText=getInnerText2(aChildren[i]);		if(sText!=sPart)			continue;		aIdList[len]=getIdByPBId(sPId);		var sCId=getCBId(aIdList[len]);		var oCObj=getElement(sCId);		if(oCObj)		{			if(oCObj.innerHTML=="")			{				var obj=getItemsByBook(aChildren[i]);				if(obj.length>0)				{					if(gbNav6)					{						var sCommand=obj[0].getAttribute("onClick");						var nCommand=sCommand.indexOf(";");						sCommand=sCommand.substring(0,nCommand);						setTimeout(sCommand,1);					}					else						obj[0].click();				}				return -1;			}			var nRet=expandToc(oCObj,sRest,aIdList);			if(nRet)				return nRet;		}	}	aIdList.length=len;	return 0;}function getIdByPBId(sPId){	return parseInt(sPId.substring(2,sPId.length-1));}function getIdByCBId(sCId){	return parseInt(sCId.substring(2,sCId.length-1));}function isPBId(sId){	return (sId&&sId.indexOf("B_")==0&&sId.lastIndexOf("P")==sId.length-1);}function isCBId(sId){	return (sId&&sId.indexOf("B_")==0&&sId.lastIndexOf("C")==sId.length-1);}function getBId(nIdx){	return "B_"+nIdx;}function getPBId(nIdx){	return getBId(nIdx)+"P";}function getCBId(nIdx){	return getBId(nIdx)+"C";}function getClosestTocPath(aPaths){	var nMaxSimilarity=0;	var nThatIndex=-1;	var sPath=null;	if(aPaths.length==0) return sPath;	for(var i=0;i<aPaths.length;i++)	{		var nSimilarity=comparePath(gsCTPath,aPaths[i]);		if(nSimilarity>nMaxSimilarity)		{			nMaxSimilarity=nSimilarity;			nThatIndex=i;		}	}	if(nThatIndex!=-1)		sPath=aPaths[nThatIndex];	else		sPath=aPaths[0];	return sPath;}function comparePath(sPath1,sPath2){	var nMaxSimilarity=0;	var nStartPos1=0;	var nPos1=-1;	var nStartPos2=0;	var nPos2=-1;	do{		var sCheck1=null;		var sCheck2=null;		nPos1=sPath1.indexOf(gsPathSplit,nStartPos1);		if(nPos1!=-1)		{			sCheck1=sPath1.substring(nStartPos1,nPos1);			nStartPos1=nPos1+1;		}		else		{			sCheck1=sPath1.substring(nStartPos1);			nStartPos1=-1;		}		nPos2=sPath2.indexOf(gsPathSplit,nStartPos2);		if(nPos1!=-1)		{			sCheck2=sPath2.substring(nStartPos2,nPos2);			nStartPos2=nPos2+1;		}		else		{			sCheck2=sPath2.substring(nStartPos2);			nStartPos2=-1;		}		if(sCheck1==sCheck2)			nMaxSimilarity++;		else			break;	}while(nStartPos1!=-1&&nStartPos2!=-1);	return nMaxSimilarity;}function getTocPaths(oTopicParam){	var aRelTocPaths=oTopicParam.aPaths;	var aPaths=new Array();	for(var i=0;i<gaProj.length;i++)		if(isSamePath(gaProj[i].sPPath,oTopicParam.sPPath))		{			for(var j=0;j<aRelTocPaths.length;j++)				for (var k=0;k<gaRoot[i].aRPath.length;k++)				{					var sPath=gaRoot[i].aRPath[k]+aRelTocPaths[j];					aPaths[aPaths.length]=sPath.substring(1);				}			break;		}	return aPaths;}function syncInit(){	if(gsTP&&!gbNeedFillStub)	{		gInSync=true;		var obj=document.body;		var aIdList=new Array();		var nRet=expandToc(obj,gsTP,aIdList);		if(nRet!=-1)		{			if(nRet==1)			{				if(aIdList.length)					for(var i=0;i<aIdList.length-1;i++)						ExpandIt2(aIdList[i],true);				gsCTPath=gsTP;				if(!gbIE55)					aIdList[aIdList.length-1].focus();				else					HighLightElement(aIdList[aIdList.length-1],gsABgColor,"transparent");			}			var aPaths=gaBTPs;			gsTP=null;			gaBTPs=null;			if(aPaths!=null)			{				var sPath=getClosestTocPath(aPaths);				if(sPath!=null)				{						gsTP=sPath;							setTimeout("syncInit()",1);				}			}		}		gInSync=false;	}}function loadToc(){	if(!gbLoadToc)	{		var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);		if(SendMessage(oResMsg)&&oResMsg.oParam)		{			gbLoadToc=true;			var oProj=oResMsg.oParam;			gaProj=oProj.aProj;			gbXML=oProj.bXML;			load1B1();		}	}}function load1B1(){	if(gnLT+1<gaProj.length)		for(var i=gnLT+1;i<gaProj.length;i++)			if(gaProj[i].sToc)			{				gbToc=true;				gnLT=i;				setTimeout("loadTocInfo()",1);				return true;			}	return false;}function loadTocInfo(){	loadData2(gaProj[gnLT].sPPath+gaProj[gnLT].sDPath+gaProj[gnLT].sToc);}function loadData2(sFile){	if(gbXML)		loadDataXML(sFile);	else		loadData(sFile);}function projReady(sRoot,aProj){	if(gaRoot.length<=gnLT||!gaRoot[gnLT])		gaRoot[gnLT]=new Object();	gaRoot[gnLT].sToc=sRoot;		if(gnLT==0)	{		gaRoot[gnLT].aRPath=new Array();		gaRoot[gnLT].aRPath[0]=gsPathSplit;	}	updatePTPath(gnLT,aProj);	if(!((gnLT+1<gaProj.length)&&load1B1()))	{		gbReady=true;		if(gbIE4)			setTimeout("loadImages();",1);		else			setTimeout("loadTData();",1);	}}function loadTData(){	if(gaProj[0].sToc!="")	{		gbLData=true;		goChunk=addTocChunk(gaProj[0].sPPath,gaProj[0].sDPath);		gbToc=false;		loadData2(gaProj[0].sPPath+gaProj[0].sDPath+gaRoot[0].sToc);	}}function updatePTPath(n,aProj){	if(aProj)		for(var i=0;i<aProj.length;i++)		{			var sFullPath=_getFullPath(gaProj[n].sPPath,aProj[i].sPPath);			for(var j=0;j<gaProj.length;j++)				if(isSamePath(sFullPath,gaProj[j].sPPath))				{					if(gaRoot.length<=j||!gaRoot[j])						gaRoot[j]=new Object();					if(!gaRoot[j].aRPath)						gaRoot[j].aRPath=new Array();					if(gaRoot[n].aRPath)						for(var k=0;k<gaRoot[n].aRPath.length;k++)						{							var bDup=false;							var sTFPath=gaRoot[n].aRPath[k]+aProj[i].sRPath;							for(var l=0;l<gaRoot[j].aRPath.length;l++)								if(gaRoot[j].aRPath[l]==sTFPath)								{									bDup=true;									break;								}							if(!bDup)								gaRoot[j].aRPath[gaRoot[j].aRPath.length]=sTFPath;						}					else						gaRoot[j].aRPath[gaRoot[j].aRPath.length]=aProj[i].sRPath;					break;				}		}}function onLoadXMLError(){	if(gbToc)	{		var sRoot="";		var aRProj=new Array();		projReady(sRoot,aRProj);	}	else	{		var aToc=new Array();		putData(aToc)	}}function putDataXML(xmlDoc,sDocPath){	if(gbToc)	{		var tocNode=xmlDoc.getElementsByTagName("toc")[0];		if(tocNode)		{			var sRoot=tocNode.getAttribute("root");			var rmtProject=tocNode.getElementsByTagName("project");			var aRProj=new Array();			if(rmtProject.length>0)			{				for(var i=0;i<rmtProject.length;i++)				{					aRProj[i]=new Object();					var sURL=rmtProject[i].getAttribute("url");					if(sURL)					{						if(sURL.lastIndexOf("/")!=sURL.length-1)							sURL+="/";											}					aRProj[i].sPPath=sURL;					aRProj[i].sRPath = "";					var oSubPath = rmtProject[i].getElementsByTagName("subpath")[0];					if (oSubPath)					{						while (oSubPath)						{							aRProj[i].sRPath += oSubPath.getAttribute("name") + "\n";							oSubPath = oSubPath.getElementsByTagName("subpath")[0];						}					}					else						aRProj[i].sRPath=rmtProject[i].getAttribute("path");				}			}			projReady(sRoot,aRProj);		}	}	else	{		var chunkNode=xmlDoc.getElementsByTagName("tocdata")[0];		if(chunkNode)		{			var aToc=new Array();			processBook(chunkNode,aToc);			putData(aToc);		}	}}function processBook(node,aToc){	var i=0;	var entry=null;	var prevEntry=null;	var oChild=node.firstChild;	do{		if(oChild)		{			if(oChild.nodeName.indexOf("#")!=0)			{				var sName=oChild.getAttribute("name");				var sURL=oChild.getAttribute("url");				var sRef=oChild.getAttribute("ref");				var sTarget=oChild.getAttribute("target");				var sIcons=oChild.getAttribute("images");				var item=new Object();				item.sItemName=sName;				if(sTarget)					item.sTarget=sTarget;				if(sIcons)					item.sIconRef=sIcons;				if(sURL==null) sURL="";				item.sItemURL=sURL;								if(oChild.nodeName=="book")				{					item.nType=1;					aToc[aToc.length]=item;					var nCurrPos=aToc.length;					processBook(oChild,aToc);					item.nContents=aToc.length-nCurrPos;				}				else if(oChild.nodeName=="item")				{					item.nType=2;					item.nContents=0;					aToc[aToc.length]=item;				}				else if(oChild.nodeName=="remoteitem")				{					item.nType=16;					item.nContents=0;					aToc[aToc.length]=item;				}				else if(oChild.nodeName=="project")				{					if(sRef)					{						if(sRef.lastIndexOf("/")!=sRef.length-1)							sRef+="/";											}					item.nType=4;					item.sRefURL=sRef;					item.nContents=0;					aToc[aToc.length]=item;				}				else if(oChild.nodeName=="chunk")				{					item.nType=8;					item.sRefURL=sRef;					item.nContents=0;					aToc[aToc.length]=item;				}			}		}		else			break;		oChild=oChild.nextSibling;	}while(true);}function putData(aTocs){	gaTocsNs61Fix=aTocs;	setTimeout("realPutData();",1);}function realPutData(){	removeLoadingDiv();	var aTocs=gaTocsNs61Fix;	if(!aTocs) return;	if(goChunk)	{		var n=gnMinIdx;		goChunk.nMI=gnMinIdx;		goChunk.aTocs=aTocs;		gnMinIdx+=aTocs.length;		if(gnInsIdx!=-1)		{			var oObj=getElement(getPBId(gnInsIdx));			if(oObj)			{				oObj.insertAdjacentHTML("afterEnd",writeBookItems(n-1,aTocs.length));				setTimeout("syncInit()",1);			}		}		else{			document.body.insertAdjacentHTML("beforeEnd",writeBookItems(n-1,aTocs.length));			var oParam=new Object();			oParam.oTocInfo=null;			var oMsg=new whMessage(WH_MSG_GETTOCPATHS,this,1,oParam);			if(SendMessage(oMsg))			{				if(oMsg.oParam.oTocInfo)					syncWithPaths(oMsg.oParam.oTocInfo);			}		}		}	gbLData=false;	checkFillStub();}function syncWithPaths(oTopicParam){	var aPaths=getTocPaths(oTopicParam);	if(gsTP)		gaBTPs=aPaths;	else{		var sPath=getClosestTocPath(aPaths);		if(sPath!=null)		{			gsTP=sPath;			setTimeout("syncInit()",1);		}	}}function window_OnLoad(){	if(gsBgImage&&gsBgImage.length>0)	{		document.body.background=gsBgImage;	}	if(gsBgColor&&gsBgColor.length>0)	{		document.body.bgColor=gsBgColor;	}	loadToc();	var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null)	SendMessage(oMsg);}function loadImages(){	if(giBookClose)	{		gaImgs[gnImages]=giBookClose;		gnImages++;	}			if(giBookOpen)	{		gaImgs[gnImages]=giBookOpen;		gnImages++;	}			if(giBookItem)	{		gaImgs[gnImages]=giBookItem;		gnImages++;	}			if(giURLItem)	{		gaImgs[gnImages]=giURLItem;		gnImages++;	}			if(giNewBookClose)	{		gaImgs[gnImages]=giNewBookClose;		gnImages++;	}			if(giNewBookOpen)	{		gaImgs[gnImages]=giNewBookOpen;		gnImages++;	}			if(giNewBookItem)	{		gaImgs[gnImages]=giNewBookItem;		gnImages++;	}			if(giNewURLItem)	{		gaImgs[gnImages]=giNewURLItem;		gnImages++;	}	if(gnImages>0)	{		setTimeout("loadDataAfter();",1000);		loadImage(gaImgs[0]);	}	else		loadDataAfter();}function loadImage(sURL){	var oImg=new Image();	oImg.onload=checkImageLoading;	oImg.onerror=errorImageLoading;	oImg.src=_getFullPath(gaProj[0].sPPath,sURL);}function loadDataAfter(){	if(!gbLoadData)	{		gbLoadData=true;		loadTData();	}}function errorImageLoading(){	gnLoadedImages++;	if(gnImages==gnLoadedImages)		loadDataAfter();	else		loadImage(gaImgs[gnLoadedImages]);	}function checkImageLoading(){	gnLoadedImages++;	if(gnImages==gnLoadedImages)		loadDataAfter();	else		loadImage(gaImgs[gnLoadedImages]);	}function window_unload(){	UnRegisterListener2(this,WH_MSG_PROJECTREADY);	UnRegisterListener2(this,WH_MSG_SYNCTOC);	UnRegisterListener2(this,WH_MSG_SHOWTOC);}function onSendMessage(oMsg){	if(oMsg)	{		var nMsgId=oMsg.nMessageId;		if(nMsgId==WH_MSG_PROJECTREADY)		{			loadToc();		}		else if(nMsgId==WH_MSG_SYNCTOC)		{			if(gbReady)			{				syncWithPaths(oMsg.oParam);			}		}		else if(nMsgId==WH_MSG_SHOWTOC)		{			if(!gbNav6)				document.body.focus();		}	}	return true;}if(window.gbWhUtil&&window.gbWhVer&&window.gbWhMsg&&window.gbWhProxy){	RegisterListener2(this,WH_MSG_PROJECTREADY);	RegisterListener2(this,WH_MSG_SYNCTOC);	RegisterListener2(this,WH_MSG_SHOWTOC);	goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");	goHFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");	window.onload=window_OnLoad;	window.onbeforeunload=window_BUnload;	window.onunload=window_unload;	gbWhTHost=true;}else	document.location.reload();

⌨️ 快捷键说明

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