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 :

Trouver une occurence dans une page Html


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 144
    Points : 145
    Points
    145
    Par défaut Trouver une occurence dans une page Html
    Bonjour,

    Je recherche s'il existe une fonction Javascript équivalente au Ctrl-F pour trouver si un texte se trouve dans la page web : une fonction toute simple qui retourne true ou false ?
    Pas dans un formulaire, mais entre les balises body par exemple.

    Merci à vous si vous avez des idées,

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Ca ne devrait pas être trop méchant de rechercher une chaine avec quelquechose comme
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    var chainePresenteOuPas = document.body.innerHTML.indexOf(chaineRecherchee) > -1;
    ... et si tu veux éviter de prendre en compte dans la recherche les balises qui structurent le contenu en lui-même, une regexp devrait faire l'affaire...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 144
    Points : 145
    Points
    145
    Par défaut
    Merci !
    C'était ça. J'avais du mal avec les recherches via les moteurs de recherche à cause des mots-clé trop généraux...

    J'en profite pour étayer ta solution pour d'autres débutants comme moi :
    > -1 est préférable au > 0 dans le cas où la page commence avec l'occurence

    Un exemple test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    (function() {
      var chainePresenteOuPas = document.body.innerHTML.indexOf('compte');
      if (chainePresenteOuPas > -1)
        alert('Le compte est bon');
      else
        alert('Compte pas bon');
      chainePresenteOuPas = document.body.innerHTML.indexOf('comptable');
      if (chainePresenteOuPas > -1)
        alert('Le comptable est bon');
      else
        alert('Comptable pas bon');
    }
    )();

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 16
    Points : 12
    Points
    12
    Par défaut MERCI...mais
    comment utiliser regexp... débutant de chez débutant si quelqu'un peut m'aider...merci !

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 144
    Points : 145
    Points
    145
    Par défaut
    Citation Envoyé par lampre Voir le message
    comment utiliser regexp... débutant de chez débutant si quelqu'un peut m'aider...merci !
    Mais non, il ne faut pas voir des expressions régulières partout... D'ailleurs pour les débutants comme pour les autres, évitez les expressions régulières quand vous pouvez (c'est valable en JS, mais aussi en PHP, etc). Ça consomme plus de ressources parfois inutilement.

    Le code de Romain Valeri était bon.
    Et ci-dessus, je l'ai complété au cas où ça intéresserait certains.
    Pour l'anecdote, j'avais besoin de ce code pour GreaseMonkey, sur des pages dont je ne suis pas l'éditeur primaire.

  6. #6
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Je suis d'accord avec papa ( si mon père m'entendait) sur le principe, mais si tu recherches effectivement à apprendre à manier les regexp, il me semble que c'est plus que très très largement documenté sur le web... donc >>> (et même sans aller "si loin", il y a déjà énormément dans les cours et FAQ de developpez )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. Réponses: 3
    Dernier message: 29/04/2008, 14h14
  4. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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