主要程序如下,有点乱,但是这种搜索应该是不复杂的: <script language="JavaScript" type="text/JavaScript"> function MakeArray(size) { this.length=size; for(i=1;i<=size;i++) this[i]=null; return this; } function Part(strURL,strTitle,cont) { this.url=strURL; this.title=strTitle; this.content=cont }db=new MakeArray(10); db[1]=new Part("....."); db[2]=new Part("....."); ...... db[10]=new Part(".....");</script> <script language="JavaScript" type="text/JavaScript"> <!-- var docObj=parent.frames[1].document;function goSearch() { var searchkey=document.form1.txt.value; var searchkey2=searchkey.replace(' ','');
if(searchkey2=='') { alert('请输入搜索关键字!'); return; } else { parent.url = new Object(); parent.title = new Object(); parent.content = new Object(); var url=parent.url; var title=parent.title; var content=parent.content; total=0 j=0; var flag=0; var temp_content var splitkey=searchkey.split(' '); var m=0; // var temp_content; var temp_cont; var format_url; for(i=1;i<=db.length;i++) { flag=0; for(k=0;k<splitkey.length;k++) { if(db[i].content.indexOf(splitkey[k]) != -1){} else { flag=1; } } if(flag==0) { var begin; var end; m=db[i].content.indexOf(splitkey[0]); if(m>20) { begin=m-20; } else { begin=0; }
<script language="JavaScript" type="text/JavaScript">
function MakeArray(size) {
this.length=size;
for(i=1;i<=size;i++)
this[i]=null;
return this;
}
function Part(strURL,strTitle,cont) {
this.url=strURL;
this.title=strTitle;
this.content=cont
}db=new MakeArray(10);
db[1]=new Part(".....");
db[2]=new Part(".....");
......
db[10]=new Part(".....");</script>
<script language="JavaScript" type="text/JavaScript">
<!--
var docObj=parent.frames[1].document;function goSearch() {
var searchkey=document.form1.txt.value;
var searchkey2=searchkey.replace(' ','');
if(searchkey2=='')
{
alert('请输入搜索关键字!');
return;
}
else
{
parent.url = new Object();
parent.title = new Object();
parent.content = new Object();
var url=parent.url;
var title=parent.title;
var content=parent.content;
total=0
j=0;
var flag=0;
var temp_content
var splitkey=searchkey.split(' ');
var m=0;
// var temp_content;
var temp_cont;
var format_url;
for(i=1;i<=db.length;i++)
{
flag=0;
for(k=0;k<splitkey.length;k++)
{
if(db[i].content.indexOf(splitkey[k]) != -1){}
else
{
flag=1;
}
}
if(flag==0)
{
var begin;
var end;
m=db[i].content.indexOf(splitkey[0]);
if(m>20) { begin=m-20; }
else { begin=0; }
if(db[i].content.length>m+20) { end=m+40; }
else { end=db[i].content.length; }
temp_cont=db[i].content.substring(begin,end);
//搜索关键字高亮显示
for(k=0;k<splitkey.length;k++)
{
temp_cont=temp_cont.replace(splitkey[k],'<span class="keyword">'+splitkey[k]+'</span>')
}
j++;
url[j]=db[i].url;
title[j]=db[i].title;
content[j]=temp_cont;
}
}
total=j;
}
docObj.open();
docObj.write('<html><head><title>搜索结果</title>');
docObj.write('<script src="topage.js" lanuage=javascript>');
docObj.write('</scr');
docObj.write('ipt>');
docObj.write('<link href="searchcss.css" rel="stylesheet" type="text/css">');
docObj.write('</head>'+'<body leftmargin="0" topmargin="0">');
docObj.write('<table width="770" border="0" align="center" cellpadding="4" cellspacing="0" class="result">');
docObj.write('<tr><td height="350" valign="top">');
docObj.write(' 搜索关键字:【<span class="keyword">'+searchkey+'</span>】 总共搜索到【<span class="keyword">'+total+'</span>】条匹配的记录'+'<br>');
if(total>0)
{
if(total>10) { tmp=10; }
else { tmp=total; }
for(i=1;i<=tmp;i++)
{
// docObj.write(i+'.<a href="'+url[i]+'">'+title[i]+'</a><br>');
format_url=url[i].replace('../','/');
// format_url=format_url.replace('/','\");
docObj.write(i+'. <a href="out.asp?filetoopen='+format_url+'&txt_search='+searchkey+'"'+' target="_blank">'+title[i]+'</a><br>');
docObj.write(' '+content[i]+'<br>');
}
}
// docObj.write(' <br>');
// docObj.write(' <br>');
m=10;
pagenum=total/m;
pagenum=Math.ceil(pagenum);
docObj.write('</td></tr>');
docObj.write('<tr><td align="center">');
docObj.write(' <br><span class="keyword"><strong>Page:</strong></span>');
for(i=1;i<=pagenum;i++)
{
if(i==1) { docObj.write('<span class="keyword">'+i+'</span>'); }
else { docObj.write(' <span class="pnum" onclick="topage('+i+','+total+')">'+i+'</spsan>'); }
}
docObj.write(' <br></td></tr></table>');
//docObj.write(' </br>');
docObj.write('<table width="780" border="0" align="center" cellpadding="4" cellspacing="0"><tr><td bgcolor="#677DD9" align="center"><font color="#FFFFFF" size="2"><strong>版权所有@ </strong>北京邮电大学理学院数学教研室</font></td></tr>'); docObj.write('</table>');
docObj.write('</body></html>');
docObj.close(); }
//-->
</script>
db[10]=new Part(".....");