Foros del Web » Programando para Internet » Javascript »

Ayuda, sobre codigo de buscador interno

Estas en el tema de Ayuda, sobre codigo de buscador interno en el foro de Javascript en Foros del Web. Lo que pasa, es que conseguí un codigo en javascript de un buscador interno, si me funciona, pero el problema es que abre los resultados ...
  #1 (permalink)  
Antiguo 14/02/2008, 20:59
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Ayuda, sobre codigo de buscador interno

Lo que pasa, es que conseguí un codigo en javascript de un buscador interno, si me funciona, pero el problema es que abre los resultados en una nueva ventana, y yo quiero que se abra en la misma pagina donde se encuentra el buscador, no se mucho de este lenguaje, apenas estoy aprediendo, pero le muevo o le quito algunas partes al codigo y no funciona.
Si alguien me puede ayudar le agradeceria mucho.

este es el codigo
<!---aqui comienza el buscador -->
<script language="JavaScript">
<!-- Begin
var item = new Array();

// "Nombre de la página","Situación página","Título","Palabras clave","Comentarios descriptivos"

/* links below were changed so a 404 error would not be found if someone actually clicked them in the www.js-examples.com database */
c=0; item[c]=new Array("http://www.imperiomusica.com/hilaryduff.php","","hilary","duff","hilaryduff","H ILARY DUFF", "HILARY", "DUFF","Hilary Duff");
c++; item[c]=new Array("http://www.topmusik.ya.st/","","topmusik","musik,top,mu","Topmusik");


page="<html><head><title>Search Results</title></head><body bgcolor='white'><left><table border=0 cellspacing=10 width=80%>";

function search(frm) {
win = window.open("toolbar=yes,scrollbars=yes,status=yes ");
win.document.write(page);
txt = frm.srchval.value.split(" ");
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++) {
fnd[i] = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++) {
n = 0; w = -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, win, n);
fnd[w] = 0;
}
win.document.write("</table><center><br><font size=2>Tu busqueda se ha encontrado:"+total+"<br></body></html></font>");
win.document.write("<hr></table><center><br><b><font size=4><big>ImperioMusica.com<br></font><font size=2></head></html></font>");
win.document.write("</table><head><center><br><font size=2>El imperio de la música ha llegado<br></head></html>");
win.document.close();
}
function show(which,wind) {
link = item[which][1] + item[which][0];
line = "<tr><td><a href='"+link+"'>"+item[which][2]+"</a><br>";
line += item[which][4] ;
wind.document.write(line);

return 1;
}
// End -->
</script>

</font></font></font></font></font><form method="get" action="javascript:void(0)" onsubmit="search(this); return false;">


<center><font size="2"><font size="2"><font color=" #66666"><font size="2"><font color=" #66666"><input name="srchval" value="" size="20" type="text"><input value="BUSCAR" type="submit">

<br>

<!-- fin del buscador -->
  #2 (permalink)  
Antiguo 15/02/2008, 00:47
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Re: Ayuda, sobre codigo de buscador interno

A ver si así funciona:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!---aqui comienza el buscador -->
<script language="JavaScript">
<!-- Begin
var item = new Array();

// "Nombre de la página","Situación página","Título","Palabras clave","Comentarios descriptivos"

/* links below were changed so a 404 error would not be found if someone actually clicked them in the www.js-examples.com database */
c=0; item[c]=new Array("http://www.imperiomusica.com/hilaryduff.php","","hilary","duff","hilaryduff","H ILARY DUFF", "HILARY", "DUFF","Hilary Duff");
c++; item[c]=new Array("http://www.topmusik.ya.st/","","topmusik","musik,top,mu","Topmusik");


codigo="<h1>Search Results</h1><table border=0 cellspacing=10 width=80%>";

function search(frm) {
win = document.getElementById("resultado");
win.innerHTML=codigo;
txt = frm.srchval.value.split(" ");
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++) {
fnd[i] = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++) {
n = 0; w = -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, win, n);
fnd[w] = 0;
}
win.innerHTML+="</table><center><br><font size=2>Tu busqueda se ha encontrado:"+total+"<br></body></html></font>";
win.innerHTML+="<hr></table><center><br><b><font size=4><big>ImperioMusica.com<br></font><font size=2></head></html></font>";
win.innerHTML+="</table><head><center><br><font size=2>El imperio de la música ha llegado<br></head></html>";

}
function show(which,wind) {
link = item[which][1] + item[which][0];
line = "<tr><td><a href='"+link+"'>"+item[which][2]+"</a><br>";
line += item[which][4] ;
wind.innerHTML+=line;

return 1;
}
// End -->
</script>

</font></font></font></font></font><form method="get" action="javascript:void(0)" onsubmit="search(this); return false;">


<center><font size="2"><font size="2"><font color=" #66666"><font size="2"><font color=" #66666"><input name="srchval" value="" size="20" type="text"><input value="BUSCAR" type="submit">
<div id="resultado"></div>
<br>

<!-- fin del buscador -->
Debes crear una capa con id = "resultado" y la pones justo debajo del buscador:

<div id="resultado"></div>


O con el id que quieras ponerle, pero tienes que referenciarlo en la definición de win:

win = document.getElementById("resultado");

Espero que funcione!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 15/02/2008, 15:07
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Sonrisa Re: Ayuda, sobre codigo de buscador interno

Muchas gracias KarlanKas, me salvaste la vida, el codigo funcionó muy bien, y me muestra los resultados en la misma página, yo sufri tratando de hacer eso y no pude, y tu en un segundo lo lograste.

Gracias y Saludos!!!


Cita:
Iniciado por KarlanKas Ver Mensaje
A ver si así funciona:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!---aqui comienza el buscador -->
<script language="JavaScript">
<!-- Begin
var item = new Array();

// "Nombre de la página","Situación página","Título","Palabras clave","Comentarios descriptivos"

/* links below were changed so a 404 error would not be found if someone actually clicked them in the www.js-examples.com database */
c=0; item[c]=new Array("http://www.imperiomusica.com/hilaryduff.php","","hilary","duff","hilaryduff","H ILARY DUFF", "HILARY", "DUFF","Hilary Duff");
c++; item[c]=new Array("http://www.topmusik.ya.st/","","topmusik","musik,top,mu","Topmusik");


codigo="<h1>Search Results</h1><table border=0 cellspacing=10 width=80%>";

function search(frm) {
win = document.getElementById("resultado");
win.innerHTML=codigo;
txt = frm.srchval.value.split(" ");
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++) {
fnd[i] = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++) {
n = 0; w = -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, win, n);
fnd[w] = 0;
}
win.innerHTML+="</table><center><br><font size=2>Tu busqueda se ha encontrado:"+total+"<br></body></html></font>";
win.innerHTML+="<hr></table><center><br><b><font size=4><big>ImperioMusica.com<br></font><font size=2></head></html></font>";
win.innerHTML+="</table><head><center><br><font size=2>El imperio de la música ha llegado<br></head></html>";

}
function show(which,wind) {
link = item[which][1] + item[which][0];
line = "<tr><td><a href='"+link+"'>"+item[which][2]+"</a><br>";
line += item[which][4] ;
wind.innerHTML+=line;

return 1;
}
// End -->
</script>

</font></font></font></font></font><form method="get" action="javascript:void(0)" onsubmit="search(this); return false;">


<center><font size="2"><font size="2"><font color=" #66666"><font size="2"><font color=" #66666"><input name="srchval" value="" size="20" type="text"><input value="BUSCAR" type="submit">
<div id="resultado"></div>
<br>

<!-- fin del buscador -->
Debes crear una capa con id = "resultado" y la pones justo debajo del buscador:

<div id="resultado"></div>


O con el id que quieras ponerle, pero tienes que referenciarlo en la definición de win:

win = document.getElementById("resultado");

Espero que funcione!
  #4 (permalink)  
Antiguo 15/02/2008, 16:27
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Re: Ayuda, sobre codigo de buscador interno

Me alegro de que te funcionara. Tuvimos suerte, porque no podía probar si funcionaba o no...

Un saludo!
:)
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 19/06/2008, 11:16
Avatar de Fastback  
Fecha de Ingreso: marzo-2008
Ubicación: Santiago de Chile
Mensajes: 35
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Ayuda, sobre codigo de buscador interno

Hola, gracias por los aportes y la buena disposición.

Les cuento que tambien quiero hacer funcionar este código y me parece que solo encuentra nombre de archivo y no palabras que esten dentro del la página.

Nosé si me explique bien.

Gracias
  #6 (permalink)  
Antiguo 19/06/2008, 11:32
Avatar de Fastback  
Fecha de Ingreso: marzo-2008
Ubicación: Santiago de Chile
Mensajes: 35
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Ayuda, sobre codigo de buscador interno

Creo que si publico en codigo se entiende mejor
Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!---aqui comienza el buscador -->
<script language="JavaScript">
<!-- Begin
var item = new Array();

// "Nombre de la página","Situación página","Título","Palabras clave","Comentarios descriptivos"

/* links below were changed so a 404 error would not be found if someone actually clicked them in the www.js-examples.com database */
c=0; item[c]=new Array("http://www.topmark.cl/art_promo/sub_catalog_promocionales.html","","promocionales" ,"prom","articulos promocionales","articulos", "encendedor", "impreso","Encendedor Impreso");
c++; item[c]=new Array("http://www.topmark.cl/","","topmmark","mark","Topmark");


codigo="<h1>Search Results</h1><table border=0 cellspacing=10 width=80%>";

function search(frm) {
win = document.getElementById("resultado");
win.innerHTML=codigo;
txt = frm.srchval.value.split(" ");
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++) {
fnd[i] = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++) {
n = 0; w = -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, win, n);
fnd[w] = 0;
}
win.innerHTML+="</table><center><br><font size=2>Tu busqueda se ha encontrado:"+total+"<br></body></html></font>";
win.innerHTML+="<hr></table><center><br><b><font size=4><big>ImperioMusica.com<br></font><font size=2></head></html></font>";
win.innerHTML+="</table><head><center><br><font size=2>El imperio de la música ha llegado<br></head></html>";

}
function show(which,wind) {
link = item[which][1] + item[which][0];
line = "<tr><td><a href='"+link+"'>"+item[which][2]+"</a><br>";
line += item[which][4] ;
wind.innerHTML+=line;

return 1;
}
// End -->
</script>

</font></font></font></font></font><form method="get" action="javascript:void(0)" onsubmit="search(this); return false;">


<center><font size="2"><font size="2"><font color=" #66666"><font size="2"><font color=" #66666"><input name="srchval" value="" size="20" type="text"><input value="BUSCAR" type="submit">
<div id="resultado"></div>
<br>

<!-- fin del buscador -->
Por ejemplo la palabra "encendedor" no la encuentra.
  #7 (permalink)  
Antiguo 12/07/2008, 15:27
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Re: Ayuda, sobre codigo de buscador interno

Cita:
Iniciado por KarlanKas Ver Mensaje
Me alegro de que te funcionara. Tuvimos suerte, porque no podía probar si funcionaba o no...

Un saludo!
:)
Pues yo también keria un buscador interno para mi web, mi web es:

http://altohiphop.es.tl
Gracias!

Saludos!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:26.