Hola Buenas Tardes, quisiera que alguien me ayudara por favor para resolver una gran incógnita. Resulta que tengo que crear un buscador interno para una página web, la opción que más me acomoda sería hacerla con x-search 5.2, sé que no es la mejor opción, pero hacerlo en php no podría pues desconozco el lenguaje.
He estado investigando en la web, pero no hay o no encuentro la opción de como la cajita del buscador (xsearch) aparezca sola por ejemplo en un frame (top frame) y los resultados me los arroje en otra ventana, (ej: mainframe).
El buscador se me hace bueno pero todo lo pone en la misma ventana y yo quiero los resultados en otra.
Si algún web master me hecha la mano con esto, lo apreciaría mucho.
El X-search tiene lo siguiente:
db.js:
/* XSearch version 5.2 - Database file */
/* configuration settings */
searchname = 'xsearch-5.2.htm'
usebannercode=true
ButtonCode = "<img src='searchbutton.gif' border=0>"
function templateBody() {
document.write('<html><head><title>XSearch</title><'+
'script language="Javascript">'+
'<'+'/'+'script'+'></head><body bgcolor="#ffffff" text="#000000" link="#000099" vlink="#996699" alink="#996699"><Center><font face="Arial" size="3"><font face=Verdana size=12><b>Buscador </b><i>XSearch5.2</i></font><table border=0 width=640><tr><td>');
}
function templateEnd() {
document.write('</td></tr></table></font></center></body></html>');
}
function bannerCode() {
}
/* end configuration settings */
/* database records */
add("<a href='http://www.defensor-alejo.com.ar/index.html'>Título con Hipervínculo</a>","descripción no visible en pantalla","descripción visible en pantalla..<br>..otro")
add("<a href='http://www.defensor-alejo.com.ar/legis/nacion_doc/00340-cod-civil.zip'>Título con Hipervínculo</a>","descripción para el buscador: Esto no se presenta en pantalla. Todo lo que pongamos acá, será eencontrado por el buscador por ejemplo: zurlo mastrángelo. Está prohibido el enter y la coma","descripción para presentar..<br>..otro")
add("<a href='http://www.dynamic-core.net/jsvcl/vcl2/index.htm'>Título con Hipervínculo</a>","En éste campo están permitidos todos los caracteres menos el enter","descripción visibe<br>poner un listado de nombres y de e-mail para las guías")
/* end database records */
-----
xsearch.css:
h3 ....................
------
x-search-5.2.js:
/* XSearch Engine version5.2 */
/* developed by P.Bestebroer */
/* http://www.dynamic-core.net */
.................. document.write("</span></center>")
}
DisplayXSearch()
document.close()
}
function Cat() {
document.open()
document.clear()
document.write('<link rel="stylesheet" href="xsearch.css">')
AddBody()
DisplayXSearch()
document.close()
}
function stripInput(key) {
while(key.substring(0,1) == "," || key.substring(0,1) == " " ) key = key.substring(1,key.length)
while(key.substring(key.length-1,key.length) == "," || key.substring(key.length-1,key.length) == " ") key = key.substring(0,key.length-1)
return key
}
function parseIt(key) {
key=stripInput(key)+" "
var y=0
while(key.indexOf(" ") > 0) {
if (key.substring(0,1)=='"') {
var pos=key.indexOf('"',2)
keywords[y]=key.substring(1,pos)
keywords[y]=stripInput(keywords[y])
y++
key=key.substring(pos+1,key.length)
} else {
var pos=key.indexOf(' AND ')
if ((pos>0) && (key.indexOf(' ')>=pos)) {
pos=key.indexOf(' ',pos+5)
keywords[y]=key.substring(0,pos)
keywords[y]=stripInput(keywords[y])
y++
key=key.substring(pos+1,key.length)
if (key.substring(0,4)=='AND ') {
pos=keywords[y-1].indexOf(' ')+5
key=keywords[y-1].substring(pos,keywords[y-1].length)+' '+key
}
} else {
var pos=key.indexOf(' OR ')
if ((pos>0) && (key.indexOf(' ')>=pos)) {
pos=key.indexOf(' ')
keywords[y]=key.substring(0,pos)
keywords[y]=stripInput(keywords[y])
if (keywords[y]!=keywords[y-1]) y++
key=key.substring(pos+1,key.length)
pos=key.indexOf('OR ')
key=key.substring(pos+3,key.length)
pos=key.indexOf(' ')
keywords[y]=key.substring(0,pos)
keywords[y]=stripInput(keywords[y])
y++
key=key.substring(pos+1,key.length)
if (key.substring(0,3)=='OR ') key=keywords[y-1]+' '+key
} else {
var pos = key.indexOf(" ")
keywords[y]=key.substring(0,pos)
keywords[y] = stripInput(keywords[y])
y++
if(y > 50) return -1
key=key.substring(pos+1,key.length)
}
}
}
}
return y-1
}
var keywords = new Array()
var results
function AddBody() {
var keytext='"'+searchname+'?keywords="+'
var andtext='"&and="+'
document.write('<script>function doSearch(){'+
'searchwords=document.searchform.searchwords.value ; '+
.....
templateEnd()
}
function search(keyword) {
var hit=0
var addcomplete=0
for (q=0; q<records.length; q++) {
addcomplete=0
search_parm=" "+records[q].searchstring()+" "
search_parm=search_parm.toLowerCase()
if (keyword.indexOf(' AND ')>0) {
firstword=keyword.substring(0,keyword.indexOf(' ')).toLowerCase()
lastword=keyword.substring(keyword.indexOf(' AND ')+5,keyword.length).toLowerCase()
if ((search_parm.indexOf(" "+firstword+" ") != -1) && (search_parm.indexOf(" "+lastword+" ")!= -1 )) {
hit++
finds++
if(hit<2) {
if (results[q].val==0) sites++
results[q].val +=2
}
}
} else {
keyword=keyword.toLowerCase()
if ((search_parm.indexOf(" "+keyword+" ") != -1) ||(keyword=="[all]")) {
hit++
finds++
if(hit<2) {
if (results[q].val==0) sites++
results[q].val+=2
}
} else {
// check for a half hit (ie. search:share find:SHAREware)
if (search_parm.indexOf(keyword) != -1) {
hit++
finds++
if(hit < 2) {
if (results[q].val==0) sites++
results[q].val+=1
x=search_parm.indexOf(keyword)+keyword.length
pos=search_parm.substring(1,x-keyword.length)
while (pos.indexOf(" ")!=-1) {
y=pos.indexOf(" ")
pos=pos.substring(y+1,pos.length)
}
if (pos.length<=2) addcomplete++
pos=search_parm.substring(x,search_parm.length)
fullresult=search_parm.substring(x,x+pos.indexOf(" "))
if (fullresult.length<=2) addcomplete++
if (addcomplete>1) results[q].val+=1
}
}
}
}
hit=0
}
}
var searchwords = ''
var newload = true
function initXsearch() {
if (searchwords!='') searchAll(searchwords)
else if (newload) Cat()
}
function tparams(){
parameters=document.location.search
parameters=unescape(parameters.substring(1,paramet ers.length)+'&')
this.params=new Array()
i=0
while (parameters.indexOf('&',0)!=-1) {
al=this.params.length
this.params[al]=new Array()
tmp=parameters.substring(0,parameters.indexOf('&', 0))
parameters=parameters.substring(parameters.indexOf ('&',0)+1)
if (tmp.indexOf('=')!=-1) {
this.params[al].command=tmp.substring(0,tmp.indexOf('='))
this.params[al].value=tmp.substring(tmp.indexOf('=')+1)
} else {
this.params[al].command=tmp
this.params[al].value=''
}
}
return this
}
tparams.prototype.getValue=function(param){
value=''
param=param.toLowerCase()
al=this.params.length
for (var i=0; i<al; i+=1) if (this.params[i].command==param) value=this.params[i].value
return value
}
params=new tparams()
if (params.getValue('keywords')!=''){
searchwords=params.getValue('keywords')
origsearchwords=searchwords
while (searchwords.indexOf('+')>-1) {
pos=searchwords.indexOf('+')
searchwords=searchwords.substring(0,pos)+' '+searchwords.substring(pos+1)
}
}
if (params.getValue('sort')!='')
if (params.getValue('sort')=='0' || params.getValue('sort')=='false') SortResults=false
else SortResults=true
if (params.getValue('and')!='')
if (params.getValue('and')=='0' || params.getValue('and')=='false') andresult=false
else andresult=true
if (params.getValue('disp')!='') display_start=parseInt(params.getValue('disp'))
-----
xsearch-5.2.htm:
<html>
<head>
<title>XSearch 5.2</title>
<script language="Javascript" src="xsearch-5.2.js",target="_blank"></script>
<script language="Javascript" src="db.js",target="_blank"></script>
<body bgColor="#ffffff">
<a href="html.html" target="_blank" >aa</a>a
<script language="Javascript">
initXsearch();
</script>
</body>
</html>
COMO LE HAGO PARA ABRIR LA BUSQUEDA EN OTRA VENTANA ??? NO ES TAN FACIL COMO PARECE....