IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Moteur de recherche dans page Web


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2014
    Messages : 14
    Points : 18
    Points
    18
    Par défaut Moteur de recherche dans page Web
    Bonjour,
    J'ai installé dans une page HTM un moteur de recherche (voir ci-après) qui ne fonctionne qu'avec Firefox et pas sous les autres Explorateurs.
    Si vous avez une solution, je suis preneur.
    Merci d'avance.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <script language="JavaScript">
    var nbSearch=0;
    function findInPage(str) {
      var txt, i, found;
      if (str=="") return false;
     
      if ((document.layers)||(window.sidebar)) {
        if (!window.find(str)) {
    	  alert("Fin de page atteinte.\n"+'"'+str+'" trouvé '+nbSearch+" fois.");
    	  while(window.find(str, false, true)) {nbSearch++;}
    	} 
        else
          nbSearch++;
        if (nbSearch == 0)
          alert('"'+str+'" est introuvable');
      }
     
      if (document.all) {
        txt = window.document.body.createTextRange();
        for (i = 0; i <= nbSearch && (found = txt.findText(str)) != false; i++) {
          txt.moveStart("character", 1);
          txt.moveEnd("textedit");
        }
        if (found) {
          txt.moveStart("character", -1);
          txt.findText(str);
          txt.select();
          txt.scrollIntoView();
          nbSearch++;
        } else {
          if (nbSearch > 0) {
    	  	  alert("Fin de page atteinte.\n"+'"'+str+'" trouvé '+nbSearch+" fois.");
     
            nbSearch = 0;
            findInPage(str);
          } else { 
    	    alert('"'+str+'" est introuvable');
    	  }
        }
      }
     
      return false;
    }
    </script>
     
     
     
    <form name="search" onSubmit="return findInPage(this.motcle.value);">
    <p style="margin-top: 0; margin-bottom: 0">
    <input name="motcle" type="text" size=30 onFocus="nbSearch=0; if (this.value=='Mot-clé') {this.value=''}" value="Rechercher" style="color: #6B4A8C; border: 2px solid #6B4A8C; background-color: #EBEBEB; font-family:Times New Roman; font-weight:bold; font-size:12pt; padding-left:2px; padding-right:0px; padding-top:1px; padding-bottom:1px">
    <input type="submit" value="OK" style="color: #EBEBEB; font-family: Times New Roman; font-size: 12pt; font-weight: bold; border-style: solid; border-width: 0px; background-color: #6B4A8C"></p>
    </form>

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 057
    Points : 44 589
    Points
    44 589
    Par défaut
    Bonjour,
    lorsque l'on voit dans le code :
    if ((document.layers)||(window.sidebar))
    on peut avoir des doutes, ce script date de l'époque de NetScape, donc à oublier.

    Relance ta recherche et choisit un script « récent ».

    Attention ce que fait le script donné est un « Recherche dans la page », ce n'est pas un moteur de recherche.

  3. #3
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 886
    Points : 3 725
    Points
    3 725
    Par défaut
    Salut,


    Il y a eu plusieurs sujets sur ce forum concernant la recherche d'un mot dans une page html...

    Il existe plusieurs librairies toutes prêtes à l'emploi pour faire cela mais j'avais posté il y a quelques temps un petit code utilisant la fonction window.find()...

    Il s'agit d'une fonction native donc c'est intéressant mais évidement il y a quelques limitations, par exemple il ne m'a pas semblé qu'il soit possible de définir son propre style et de l'affecter à tous les mots en même temps (il semble que cette fonction effectue une seule recherche à la fois...) mais on peut le faire sois-même en ajoutant des petites choses... J'ai fait un test de cela ici : http://jsbin.com/cenahusome/edit?js,console,output ...

    Le code n'est pas trop long, il met tous mots recherchés en surbrillance (même si ces derniers sont à cheval entre plusieurs balises ce n'est pas rien).

Discussions similaires

  1. [Python 3.X] problème de recherche de caractères dans page web
    Par publiphobe dans le forum Général Python
    Réponses: 3
    Dernier message: 14/08/2021, 13h35
  2. Réponses: 0
    Dernier message: 18/04/2014, 14h03
  3. Moteur de recherche dans PDF
    Par jhice dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 09/05/2006, 14h58
  4. [ActiveX] Message de sécurité dans page Web
    Par Mescalito dans le forum MFC
    Réponses: 3
    Dernier message: 21/02/2006, 16h15
  5. Pb activation module quicktime dans page web
    Par Adry dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 05/12/2005, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo