21.2.11

Busqueda de Texto en tu Página con Javascript



Si deseas buscar Texto en Página web o Blog se puede realizar fácilmente gracias a Javascript, el cual es un gran valor agregado a la usabilidad de tu página sobretodo si esta trata temas con gran cantidad de Texto,  generalmente en muchos navegadores se puede hacer con la función window.find(), pero para que funcione en casi todos hay que incluir un pequeño script.

Ejemplo:



Código:

Script:

<script language="JavaScript">
var TRange=null

function busca (str) {
 if (parseInt(navigator.appVersion)<4) return;
 var strFound;
 if (window.find) {

  strFound=self.find(str);
  if (!strFound) {
   strFound=self.find(str,0,1)
   while (self.find(str,0,1)) continue
  }
 }
 else if (navigator.appName.indexOf("Microsoft")!=-1) {

    if (TRange!=null) {
   TRange.collapse(false)
   strFound=TRange.findText(str)
   if (strFound) TRange.select()
  }
  if (TRange==null || strFound==0) {
   TRange=self.document.body.createTextRange()
   strFound=TRange.findText(str)
   if (strFound) TRange.select()
  }
 }
 else if (navigator.appName=="Opera") {
  alert ("Opera no soporta busqueda")
  return;
 }
 if (!strFound) alert ("Cadena '"+str+"' no fue Encontrada")
 return;
}

Formulario:
<input name="t1" value="Texto a Buscar" /> <input onclick="busca(document.all.t1.value)" type="button" value="Buscar" />

Importante: El script y el formulario los puedes poner en cualquier parte de tu web, pero recomendamos que incluyas el script en el <head> </head> de tu página, aunque no es absolutamente necesario, como ves en este blog en el cual no copie el script en el <head> pero si lo puse de primero en la entrada y funciona correctamente.

Como puedes ver la caja de texto tiene el name="t1", por lo cual el botón tiene en el evento OnClick la función busca en la cual envía el Value del objeto t1.




Si te gusto el contenido no Olvides Comentar y Compartir



28 comentarios:

  1. esta muy bueno compadre gracias

    ResponderEliminar
  2. De nada, Sigan visitándonos para encontrar más trucos

    ResponderEliminar
  3. Lo que andaba buscando.. Gracias!!

    ResponderEliminar
  4. Es muy útil para paginas con bastante texto, me alegra que les sirva, no olviden decir que lo vieron en http://trucosw3.blogspot.com

    ResponderEliminar
  5. Gracias pero no sirve ni en Chrome ni en Mozilla ni en Safari, otra cosa en IE8 funciona solo con el mouse, no con la tecla enter. Sería bueno tenerlo para todos los browsers. Gracias

    ResponderEliminar
    Respuestas
    1. Si, yo tengo Chrome y pruebo todo antes de subir, de hecho al revisar tu pregunta lo probé en mozilla y también funciona, seguro tienes algún error en tu página como nombres de objetos con mayúsculas, algunos exploradores tienen mas "sensitive case" que otros, espero nos comentes como te fue con tus pruebas, gracias.

      Eliminar
    2. Este comentario ha sido eliminado por el autor.

      Eliminar
  6. estoy creando un blog y en una pagina introduje la lista de canciones (solo como referencia), quisiera que los visitantes pudieran buscar todas las canciones con la palabra "amor" (por ejemplo. Si pudieras ayudarme te lo agradezco. saludos desde venezuela!

    venekaraoke.blogspot.com

    ResponderEliminar
    Respuestas
    1. Hola, sigue las instrucciones tal cual y ellos podrán buscar el texto que quieran no solo "amor", pero este no encuentra y subraya todas va de una en una, gracias.

      Eliminar
  7. Muy bueno me ha sido de gran utilidad, gracias. Lo incorporaré a mi web cuanto antes.

    ResponderEliminar
  8. Hola man yo quiero q funciones en google chrome y mozilla en donde se tiene que agregar algo de codigos para esos nevegadores thnks.

    ResponderEliminar
  9. Muy buen post, espero sigas escribiendo. saludos.

    ResponderEliminar
  10. A mi tampoco me funciona en firefox. Funciona en esta pagina pero cuando lo pongo en mi pagina no funciona. Si funciona en IE

    ResponderEliminar
  11. Buen aporte :D funciono a la perfección

    ResponderEliminar
  12. Solo en Google Chrome perfectamente bien, y en IE a medias, y en Firefox de plano nada funciono.

    ResponderEliminar
  13. amigo por que no busca en la pagina entera solo busca en la parte superior de el textbox

    ResponderEliminar
  14. funciona solo para algunas zonas de la pagina web, pero no busca otros textos, algo en especial que agregar jaaC?

    ResponderEliminar
  15. Tienes que cambiar Microsoft por otra, Que deces que busque piensa antes de hablar

    ResponderEliminar
  16. esta bien para una galeria lightbox o modal css

    ResponderEliminar
  17. tiene mala programacion por que solo funciona hacia la izquierda

    ResponderEliminar
  18. gracias me sirvió de mucho

    ResponderEliminar
  19. Genial, después de horas buscando este script es el que me ha funcionado a la primera. Gracias

    ResponderEliminar