📄 whfhost.js
字号:
break; } else{ aFtsContentsCon[s++]=oCF; } } } if(!bNeedLoad) { var aTI=gaTopicCheckInfo; for(var m=gnTopicCheck;m<aFtsContentsCon.length;m++) { var aTIPart=getTopics(aFtsContentsCon[m],sKey); if(aTIPart==null) { gnCheck=gaaFCD.length; gnTopicCheck=m; gaTopicCheckInfo=aTI; gaFtsContentsCon=aFtsContentsCon; return; } if(m==0) aTI=aTIPart; else aTI=mergeTopics(aTI,aTIPart); } if(mergewithPreviousResult(aTI)) { gbFirst=false; findOneKey(); } else checkAgain(); }}function mergewithPreviousResult(aTI){ if(aTI!=null&&aTI.length!=0) { var nNumTopics=aTI.length; if(gnCurrentOp==0||gbFirst){ if(gbNot){ displayMsg(gsHelpCannotSearch); return false; }else{ var aLS,aSS; if(gaTI.length>=aTI.length) { aLS=gaTI; aSS=aTI; } else { aLS=aTI; aSS=gaTI; } var s=0; for(var i=0;i<aSS.length;i++) { var bAlreadyThere=false; for(var j=s;j<aLS.length;j++) { if(aSS[i].equalTo(aLS[j])) { bAlreadyThere=true; s=j; break; } } if(!bAlreadyThere) { insertTopic(aLS,aSS[i]); } } gaTI=aLS; } }else if(gnCurrentOp==1){ if(gbNot){ var s=0; for(var i=0;i<aTI.length;i++) { for(var j=s;j<gaTI.length;j++) { if(aTI[i].equalTo(gaTI[j])) { removeItemFromArray(gaTI,j); s=j; break; } } } }else{ var s=0; for(var i=0;i<gaTI.length;i++) { var bFound=false; for(var j=s;j<aTI.length;j++) { if(gaTI[i].equalTo(aTI[j])) { bFound=true; s=j; } } if(!bFound) { removeItemFromArray(gaTI,i); i--; } } } } }else{ if((gnCurrentOp==1)&&(!gbNot)){ gaTI.length=0; }else if((gnCurrentOp==0)&&(gbNot)){ displayMsg(gsHelpCannotSearch); return false; } } return true;}function insertTopic(aTI,oTI){ var nB=0; var nE=aTI.length-1; if(nE>=0) { var nM; var bFound=false; do{ nM=(nB+nE)>>1; if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)>0) nE=nM-1; else if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0) nB=nM+1; else { bFound=true; break; } }while(nB<=nE); if(bFound) insertItemIntoArray(aTI,nM,oTI); else { if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0) insertItemIntoArray(aTI,nM+1,oTI); else insertItemIntoArray(aTI,nM,oTI); } } else aTI[0]=oTI;}function mergeTopics(aTI1,aTI2){ var i1=0; var i2=0; var len1=aTI1.length; var len2=aTI2.length; var aTopicNew=new Array(); var i=0; while(i1<len1||i2<len2) { if(i1<len1&&i2<len2) { if(compare(aTI1[i1].sTopicTitle,aTI2[i2].sTopicTitle)<0) aTopicNew[i++]=aTI1[i1++]; else aTopicNew[i++]=aTI2[i2++]; } else if(i1<len1) aTopicNew[i++]=aTI1[i1++]; else if(i2<len2) aTopicNew[i++]=aTI2[i2++]; } return aTopicNew;}function getTopics(oCF,sKey){ var aTIPart=new Array(); if(oCF&&oCF.aFtsKeys) { var keys=oCF.aFtsKeys; var nB=0; var nE=keys.length-1; var nM=-1; var bFound=false; do{ nM=(nB+nE)>>1; if(compare(keys[nM].sItemName,sKey)>0) nE=nM-1; else if(compare(keys[nM].sItemName,sKey)<0) nB=nM+1; else{ bFound=true; break; } }while(nB<=nE); if(bFound) { if(keys[nM].aTopics) { for(var i=0;i<keys[nM].aTopics.length;i++) { var oTC=getTopicChunk(gaaFTCD[oCF.nProjId],keys[nM].aTopics[i]); if(oTC.aTopics) { aTIPart[aTIPart.length]= new topicInfo(oTC.aTopics[keys[nM].aTopics[i]-oTC.nBegin].sTopicTitle, gaData[oCF.nProjId].sPPath+oTC.aTopics[keys[nM].aTopics[i]-oTC.nBegin].sTopicURL); } else{ goCTF=oTC; gnLoadFts=3; beginLoading(); loadData2(gaData[oCF.nProjId].sPPath+gaData[oCF.nProjId].sDPath+oTC.sFileName); return null; } } } } } return aTIPart;}function getTopicChunk(aFTCD,nTopicId){ if(aFTCD&&aFTCD.length) { var nB=0; var nE=aFTCD.length-1; var nM=-1; var bFound=false; do{ nM=(nB+nE)>>1; if(aFTCD[nM].nBegin>nTopicId) nE=nM-1; else if(aFTCD[nM].nEnd<nTopicId) nB=nM+1; else{ bFound=true; break; } }while(nB<=nE); if(bFound) return aFTCD[nM]; } return null;}function endLoading(){ var oDiv=getElement(gsLoadingDivID); if(oDiv) oDiv.style.visibility="hidden";}function beginLoading(){ var oDiv=getElement(gsLoadingDivID); if(!oDiv) { document.body.insertAdjacentHTML("afterBegin",writeLoadingDiv()); oDiv=getElement(gsLoadingDivID); } if(oDiv) { oDiv.style.top=document.body.scrollTop; oDiv.style.visibility="visible"; }}function writeLoadingDiv(nIIdx){ return "<div id=\""+gsLoadingDivID+"\" style=\"position:absolute;top:0;left:0;z-index:600;visibility:hidden;padding-left:4px;background-color:ivory;border-width:1;border-style:solid;border-color:black;width:150px;\">"+gsLoadingMsg+"</div>";}function topicInfo(sTopicTitle,sTopicURL){ this.sTopicTitle=sTopicTitle; this.sTopicURL=sTopicURL; this.equalTo=function(oTI) { return ((this.sTopicTitle==oTI.sTopicTitle)&& (this.sTopicURL==oTI.sTopicURL)); }}function getChunkedFts(nIndex,sKey){ var oCF=null; if(nIndex<gaaFCD.length) { var len=gaaFCD[nIndex].length; if(len>0) { var nB=0; var nE=len-1; var bFound=false; do{ var nM=(nB+nE)>>1; if(compare(sKey,gaaFCD[nIndex][nM].sEndKey)>0) { nB=nM+1; } else if(compare(sKey,gaaFCD[nIndex][nM].sStartKey)<0) { nE=nM-1; } else{ bFound=true; break; } }while(nE>=nB); if(bFound) oCF=gaaFCD[nIndex][nM]; } } return oCF;}function ftsReady(aFCD,aFTCD){ endLoading(); gaaFTCD[gnCLF]=aFTCD; gaaFCD[gnCLF++]=aFCD; setTimeout("loadFD();",1);}function putFtsTData(aTopics){ endLoading(); var oCTF=goCTF; if(oCTF) { oCTF.aTopics=aTopics; setTimeout("ftsFindKeyword();",1); }}function putFtsWData(aFtsContents){ endLoading(); var oCF=goCF; if(oCF) { updateCache(oCF); oCF.aFtsKeys=aFtsContents; setTimeout("ftsFindKeyword();",1); }}function IsStopWord(sCW,aFtsStopArray){ var nStopArrayLen=aFtsStopArray.length; var nB=0; var nE=nStopArrayLen-1; var nM=0; var bFound=false; var sStopWord=""; while(nB<=nE){ nM=(nB+nE); nM>>=1; sStopWord=aFtsStopArray[nM]; if(compare(sCW,sStopWord)>0){ nB=(nB==nM)?nM+1:nM; }else{ if(compare(sCW,sStopWord)<0){ nE=(nE==nM)?nM-1:nM; }else{ bFound=true; break; } } } return bFound;}function GetStem(szWord){ if(gaFtsStem==null||gaFtsStem.length==0)return szWord; var aStems=gaFtsStem; var nStemPos=0; var csStem=""; for(var iStem=0;iStem<aStems.length;iStem++){ if(aStems[iStem].length>=szWord.length-1) continue; nStemPos=szWord.lastIndexOf(aStems[iStem]); if(nStemPos>0){ var cssub=szWord.substring(nStemPos); if(cssub==aStems[iStem]){ csStem=szWord; if(szWord.charAt(nStemPos-2)==szWord.charAt(nStemPos-1)){ csStem=csStem.substring(0,nStemPos-1); }else{ csStem=csStem.substring(0,nStemPos); } return csStem; } } } return szWord;}function FtsWriteClassStyle(){ var sStyle="<STYLE TYPE='text/css'>\n"; if (gsBgImage) sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n"; else sStyle+="body {border-top:black 1px solid;}\n"; sStyle+="P {"+getFontStyle(goErrFont)+"margin-left:"+gsIndent+";margin-top:"+gsMargin+";}\n"; sStyle+="dl {"+getFontStyle(goFont)+"margin-left:"+gsIndent+";margin-top:"+gsMargin+";}\n"; sStyle+="A:link {"+getFontStyle(goFont)+"}\n"; sStyle+="A:visited {"+getFontStyle(goFont)+"}\n"; sStyle+="A:active {background-color:"+gsABgColor+";}\n"; sStyle+="A:hover {"+getFontStyle(goHoverFont)+"}\n"; sStyle+="</STYLE>"; document.write(sStyle);}function window_Unload(){ UnRegisterListener2(this,WH_MSG_PROJECTREADY); UnRegisterListener2(this, WH_MSG_SEARCHFTSKEY);}function onSendMessage(oMsg){ var nMsgId=oMsg.nMessageId; if(nMsgId==WH_MSG_SEARCHFTSKEY) { if(oMsg.oParam) { if(gsSK==null||gsSK=="") { gsSK=oMsg.oParam.toLowerCase(); findFTSKey(); } else gsSK2=oMsg.oParam.toLowerCase(); } } else if(nMsgId==WH_MSG_PROJECTREADY) { loadFts(); } return true;}if (window.gbWhUtil&&window.gbWhLang&&window.gbWhProxy&&window.gbWhVer&&window.gbWhMsg){ goFont=new whFont("Verdana","8pt","#000000","normal","normal","none"); goErrFont=new whFont("Verdana","8pt","#000000","normal","bold","none"); goHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline"); window.onload=window_OnLoad; window.onbeforeunload=window_BUnload; window.onunload=window_Unload; RegisterListener2(this,WH_MSG_PROJECTREADY); gbWhFHost=true;}else document.location.reload();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -