begin process at 2010 03 20 09:06:13
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > RECHERCHE D'UN MOT DANS UNE PAGE

RECHERCHE D'UN MOT DANS UNE PAGE


 Information sur la source

Note :
4,67 / 10 - par 3 personnes
4,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Niveau :Débutant Date de création :17/06/2002 Date de mise à jour :17/06/2002 18:50:11 Vu :15 006

Auteur : matrey

Ecrire un message privé
Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

 Description

Voici un petit javascript qui vous permet de rechercher un mot dans une page, en le surlignant (un mot à la fois, recliquer sur le bouton rechercher pour surligner l'instance suivante)
Comme vous le voyez, c'est un script qui n'est pas de moi, mais j'ai cependant trouvé utile de le déposer sur ce site.

Source

  • <SCRIPT language=JavaScript>
  • /* Find In Page Script- By Mike Hall (MHall75819@aol.com) */
  • /* Recherche de mot */
  • var NS4 = (document.layers); // Which browser?
  • var IE4 = (document.all);
  • var win = window; // window to search.
  • var n = 0;
  • function findInPage(str) {
  • var txt, i, found;
  • if (str == "")
  • return false;
  • // Find next occurance of the given string on the page, wrap around to the
  • // start of the page if necessary.
  • if (NS4) {
  • // Look for match starting at the current point. If not found, rewind
  • // back to the first match.
  • if (!win.find(str))
  • while(win.find(str, false, true))
  • n++;
  • else
  • n++;
  • // If not found in either direction, give message.
  • if (n == 0)
  • alert("Je suis navré, je n'ai rien trouvé. Vérifiez l'orthographe.");
  • }
  • if (IE4) {
  • txt = win.document.body.createTextRange();
  • // Find the nth match from the top of the page.
  • for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
  • txt.moveStart("character", 1);
  • txt.moveEnd("textedit");
  • }
  • // If found, mark it and scroll it into view.
  • if (found) {
  • txt.moveStart("character", -1);
  • txt.findText(str);
  • txt.select();
  • txt.scrollIntoView();
  • n++;
  • }
  • // Otherwise, start over at the top of the page and find first match.
  • else {
  • if (n > 0) {
  • n = 0;
  • findInPage(str);
  • }
  • // Not found anywhere, give message.
  • else
  • alert("Je suis navré, je n'ai rien trouvé. Vérifiez l'orthographe.");
  • }
  • }
  • return false;
  • }
  • </SCRIPT>
  • <FORM name=search onsubmit="return findInPage(this.string.value);"><INPUT
  • name=string onchange="n = 0;">
  • <INPUT type=submit value=Rechercher></FORM>
<SCRIPT language=JavaScript>
/* Find In Page Script- By Mike Hall (MHall75819@aol.com) */
/* Recherche de mot */
var NS4 = (document.layers);    // Which browser?
var IE4 = (document.all);
var win = window;    // window to search.
var n   = 0;
function findInPage(str) {
var txt, i, found;
if (str == "")
return false;
// Find next occurance of the given string on the page, wrap around to the
// start of the page if necessary.
if (NS4) {
// Look for match starting at the current point. If not found, rewind
// back to the first match.
if (!win.find(str))
while(win.find(str, false, true))
n++;
else
n++;
// If not found in either direction, give message.
if (n == 0)
alert("Je suis navré, je n'ai rien trouvé. Vérifiez l'orthographe.");
}
if (IE4) {
txt = win.document.body.createTextRange();
// Find the nth match from the top of the page.
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
// If found, mark it and scroll it into view.
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
  n++;
  }
// Otherwise, start over at the top of the page and find first match.

else {
if (n > 0) {
n = 0;
findInPage(str);
}
// Not found anywhere, give message.
else
alert("Je suis navré, je n'ai rien trouvé. Vérifiez l'orthographe.");
}
}
return false;
}
</SCRIPT>

<FORM name=search onsubmit="return findInPage(this.string.value);"><INPUT 
name=string onchange="n = 0;"> 
<INPUT type=submit value=Rechercher></FORM>



 Sources du même auteur

MARRE DES PUBS MULTIMANIA/LYCOS/TRIPOD ?

 Sources de la même categorie

HTML_ENTITIES_DECODE par zen69
ACCÈS À LA MÉTHODE SETATTRIBUTE('STYLE','') SOUS IE6 par masternico
OUTIL DE SÉLECTION par jdmcreator
Source avec Zip SIMPLIFIER LA CREATION DYNAMIQUE D'ELEMENT HTML par kazma
DÉTECTER SI CSS EST ACTIVÉ par jdmcreator

Commentaires et avis

Commentaire de matrey le 17/06/2002 18:52:12

N'hésitez pas à déposer vos commentaires !

Commentaire de bob3000 le 10/05/2003 02:08:08

meme sil nest pas de toi, il est bien choisi!

Commentaire de Perliz le 20/11/2003 16:54:36

Ah ben depuis le temps que je cherche un truc dans le genre, merci de l'avoir depose ici !!!

J'ai teste avec une page blindee de javascripts construisant des tableaux, du DHTML, ca n'a pose aucun probleme.

Merci :)

Commentaire de takali le 16/06/2005 18:45:53

SAlut est il possible de rechercher plusieurs mots avec ce script? (ex: mot1, mot2, mot3)
Si oui comment faire?

Encore est t'il possible d'effectuer la recherche dans une frame ou iframe?

MErci de m'aider

A+ :)

Commentaire de loupfred le 23/02/2006 15:00:09

Non compatible avec FireFox

Commentaire de azertyazertyazerty13 le 12/07/2006 16:05:42

Bonjour,

Très bon script, j'ai testé et aucun problème. J'aimerais cependant pouvoir l'utiliser dans la structure suivante : je dispose d'une page html possédant ce script et le formulaire mais j'aimerais que la recherche porte sur la page contenue dans une balise iframe.

Je pense que ceci est réalisable, mais je ne vois pas comment. Merci d'avance.

Commentaire de carate le 16/01/2007 17:09:22

j'ai un bug avec mon prog tu saurais pas m'
envoyer le fichier par e-mail à nikko@colsoul.eu
svp

Commentaire de bruno16 le 12/10/2007 08:37:52

J'ai copié la "rechercher un mot dans une page"
Super s'est se qu'il me faud mais à chaque ouverture de ma page html
internet explorer a restreint l'affichage.Il faut que je face bouton droit et autoriser le contenu bloqué...

Commentaire de JPSI le 20/08/2008 15:29:35 7/10

Ca fait quelques temps que je cherche un code comme ça. Merci!

Commentaire de curite le 25/11/2009 18:29:52

Il est tout simplement magnifique!!!! Sa faisait super longtemps que je chercher une recherche dan ce genre!!! Merci mille fois!!!!

Commentaire de djfp le 11/12/2009 11:55:59

bonjour

c'est justement ce que je cherchais!!! un tout merci

Commentaire de djfp le 11/12/2009 14:09:29

re

ça marche super mais serait-il possible d'ajouter la fonction "suivant" car si je recherche dans une liste de 2000 éléments différents et qu'il existe deux fois le même mot ... ça coince

merci

Commentaire de matrey le 12/12/2009 00:33:30

Ma source a 7 ans et demi... autant dire une éternité !

Je conseillerais plutot de vous tourner du coté des librairies comme JQuery qui permettent de coder en JS plus facilement / proprement / sur toutes les plateformes et avec une syntaxe sympathique.

Et notamment un simple Google "highlight word jquery" renvoie vers cette solution intéressante pour JQuery : http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html

Commentaire de djfp le 12/12/2009 11:47:45

c'est pas vraiment ce que je cherchais mais merci quand même

Commentaire de chezsven le 20/01/2010 09:49:50 1/10

Marche pas

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales