Foros del Web » Programando para Internet » Javascript »

Buscar texto en una página

Estas en el tema de Buscar texto en una página en el foro de Javascript en Foros del Web. Hola a todos, gracias de antemano por su ayuda. Estoy haciendo una página con frames, he estado tratando de hacer que desde un frame (1), ...
  #1 (permalink)  
Antiguo 04/01/2008, 09:49
 
Fecha de Ingreso: enero-2008
Mensajes: 4
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Buscar texto en una página

Hola a todos, gracias de antemano por su ayuda.

Estoy haciendo una página con frames, he estado tratando de hacer que desde un frame (1), una función busque una determinada cadena de texto, dentro de la página cargada en el otro frame (2), hasta ahora, no lo he logrado, he encontrado que hay una función "Find()" que hace que el IE busque el texto dentro de la página, y entregue una bandera (0/1) si eucnetra el texto, pero no he logrado integrarla a mi diseño de frames

¿alguien conoce un método para hcer esto?

Gracias.
  #2 (permalink)  
Antiguo 04/01/2008, 14:21
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: Buscar texto en una página

A ver si te sirve este ejemplo:
Frameset:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>ejemplo</title>
</
head>

<
frameset rows="170,*" cols="*" framespacing="0" frameborder="no" border="0">
  <
frame src="buscador.php" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" title="topFrame" />
  <
frame src="formbus.php" name="mainFrame" id="mainFrame" title="mainFrame" />
</
frameset>
<
noframes><body>
</
body>
</
noframes></html
topFrame (en ejemplo, nombre buscador.php):
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>BUSCADOR</title>
<script>
String.prototype.preg_quote=function(){
	p= /([:.\+*?[^\]$(){}=!<>|:)])/g;
	return this.replace(p,"\\$1");
}
function buscar(cadena){
	resetear();
    if(!cadena.length)return;
	var info3;
	cadena=cadena.preg_quote();
	var patron=new RegExp(cadena+'(?!\}\})','gim');
	var espacio=/^\s$/;
	var el=document.getElementsByTagName('html')[0].getElementsByTagName('*');
	for(var i=0;i<el.length;i++){
		if(el[i].hasChildNodes){
			var tt=el[i].childNodes;
			for(var jj in tt){
				if(tt[jj].nodeType==3 && !espacio.test(tt[jj].nodeValue)){
					patron.lastIndex = 0;
					if(info3=patron.exec(tt[jj].nodeValue)){
						tt[jj].nodeValue=tt[jj].nodeValue.replace(patron,'{{'+tt[jj].nodeValue.substr(info3['index'],cadena.length)+'}}');
				
					}
				}

			}		
		}
	}
	document.getElementsByTagName('body')[0].innerHTML=document.getElementsByTagName('body')[0].innerHTML.split('}}').join('</span>').split('{{').join('<span style="background-color: #FFFF99">');
}
function resetear(){
	original=document.getElementsByTagName('body')[0].innerHTML=original;
}
window.onload=function(){
	original=document.getElementsByTagName('body')[0].innerHTML;
}
</script>
</head>

<body>
ver Buscador simple
<div>sí, dije buscador <div id="pepe">buscador <span> y
      metemos otra vez la palabra buscador} a ver /a qué pasa</span><span>algo
      más </span>y
      esto fuera del span y dentro de div </div>
</div> 
y si ponemos buscador fuera otra vez?
</body>
</html>
mainFrame (en ejemplo, archivo formbus.php):
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Untitled Document</title>
</
head>

<
body>
<
form id="form1" name="form1" method="post" action="">
  <
input name="cadena" type="text" id="cadena" />
  <
input type="button" name="Button" value="buscar" onclick="parent['topFrame'].buscar(cadena.value)" />
</
form>
</
body>
</
html

Última edición por Panino5001; 07/01/2008 a las 10:49
  #3 (permalink)  
Antiguo 04/01/2008, 14:27
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Re: Buscar texto en una página

checa este link

http://www.cssboulevar.com.ar/codigos/?id=48
  #4 (permalink)  
Antiguo 04/01/2008, 14:37
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: Buscar texto en una página

Cita:
Iniciado por posman Ver Mensaje
No funciona en Firefox.
Aquí dejo una url que usa el código js que puse de ejemplo:
http://www.disegnocentell.com.ar/new...s/buscador.php

Última edición por Panino5001; 04/01/2008 a las 21:08
  #5 (permalink)  
Antiguo 08/01/2008, 20:14
 
Fecha de Ingreso: enero-2008
Mensajes: 4
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Buscar texto en una página

Gracias por su apoyo, aunque me tomó algo de tiempo, descifré la mayor parte de los códigos, e implementé uno de ellos (el de cssboulevar), ahora, el problema es que cuando ejecuto el Javascript, me envía un mensaje de error que dice "permiso denegado", sobre del frame en el que quiero buscar.
¿Alguna sugerencia a que se puede deber esto?
  #6 (permalink)  
Antiguo 09/01/2008, 02:21
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: Buscar texto en una página

Si querés aplicar javascript en un frame perteneciente a otro dominio, se te presentará ese problema siempre, a menos que, mediante lenguaje de servidor, sirvas el contenido de la página desde tu dominio. Aquí tenés un ejemplo de esta técnica: Javascript, iframes y páginas externas
  #7 (permalink)  
Antiguo 26/01/2008, 21:03
 
Fecha de Ingreso: enero-2008
Mensajes: 4
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Buscar texto en una página

Gracias nuevamente panino.

He estado analizando el ejemplo, la parte del iframe me quedó clara, y lo manejo sin problema, pero la parte php para anidar el iframe, es la que todavía no me que da clara, ¿tendrás otro ejemplo un poco mas sencillo de ese proceso? porque incluso traté de ejecutar el mismo ejemplo que viene en la página, y no funciona como debe.
  #8 (permalink)  
Antiguo 26/01/2008, 21:13
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: Buscar texto en una página

No hay código php en los ejemplos que puse, sólo los nombres de archivo. Si no tenés soporte php, cambiale a los archivos la extensión php por html o htm y listo.

Edito: Pensé que seguíamos hablando del buscador de palabras, pero releyendo comprendo de que no. Por este otro tema te sugiero que abras un nuevo post, colocando el código que estás utilizando.

Última edición por Panino5001; 27/01/2008 a las 01:05
  #9 (permalink)  
Antiguo 28/01/2008, 11:44
 
Fecha de Ingreso: enero-2008
Mensajes: 4
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Buscar texto en una página

Si es sobre del mismo asunto del buscador de palabras, lo que pasa, es que esa página que me recomendaste, crea un iframe, y despues, hace que sea parte de la página, con un 2 o 3 comandos de php (segun dice la misma página), ahora lo que no logro, es aplicar esa parte para que evitar que me dé el error de seguridad y el buscador funcione.
  #10 (permalink)  
Antiguo 10/09/2010, 07:57
Avatar de andy22000  
Fecha de Ingreso: noviembre-2008
Mensajes: 19
Antigüedad: 15 años, 5 meses
Puntos: 0
De acuerdo Respuesta: Re: Buscar texto en una página

Cita:
Iniciado por Panino5001 Ver Mensaje
No funciona en Firefox.
Aquí dejo una url que usa el código js que puse de ejemplo:
[URL="http://www.disegnocentell.com.ar/new/ejemplos/buscador.php"]http://www.disegnocentell.com.ar/new/ejemplos/buscador.php[/URL]
BUEN APORTE MUCHAS GRACIAS ME FUNCIONO PERFECTAMENTE, EXCELENTE IDEA

  #11 (permalink)  
Antiguo 12/11/2010, 13:41
 
Fecha de Ingreso: agosto-2009
Mensajes: 3
Antigüedad: 14 años, 8 meses
Puntos: 0
De acuerdo Respuesta: Re: Buscar texto en una página

Cita:
Iniciado por andy22000 Ver Mensaje
BUEN APORTE MUCHAS GRACIAS ME FUNCIONO PERFECTAMENTE, EXCELENTE IDEA



muchas gracias ! me ha sido de mucha ayuda!

un saludo !
  #12 (permalink)  
Antiguo 19/08/2012, 14:17
 
Fecha de Ingreso: agosto-2008
Mensajes: 48
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Buscar texto en una página

Amigos una pregunta como puedo lograr que este buscador que nos ayudo panino colocando, ademas de resaltar el texto, me lleve hacia el primer resultado de la busqueda directamente? si buscas una palabra que este a la vista solo bajando el scroll, no la encuentras, ya que solo la pinta de amarillo, pero la tienes que buscar tu igual.

Alguien me puede ayudar, gracias
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 07:13.