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 :

Bouton de recherche


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2018
    Messages : 8
    Par défaut Bouton de recherche
    Bonjour à tous et toutes. Bonne année a vous !

    Voilà j'ai récupéré ce code içi : https://www.developpez.net/forums/d1...e-recherche/#2

    Je l'ai mis dans mon fichier .htm en haut de ma page et c'est super il fonctionne très bien...
    Un Grand Merci à NoSmoking pour son aide ...

    J'ai voulu mettre ce code dans 1 fichier .htm composé de 2 cadres pour des raisons de visibilité mais malheureusement il ne cherche que dans le cadre ou il est !
    Mon fichier lui se trouve dans le cadre inférieur.
    Pourriez vous m'aider svp pour le modifier afin qu'il fasse sa recherche dans le cadre ou se trouve mon fichier, sachant que je suis vraiment nul avec ce genre de code !

    Et le sujet est ancien, je n'ose pas le "déterrer"

    Par avance, Merci à vous ...

    Bonne journée.

    Ps: je m'excuse si je n'ai pas posté au bon endroit.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    composé de 2 cadres
    cadre = ???
    iframe ? div ? autre ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2018
    Messages : 8
    Par défaut
    désolé pas très familiarisé avec ces noms là ...

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <frameset rows="175,*">
      <frame name="frame_haut" src="Sommaire.htm" scrolling="auto" frameborder="1">
      <frame name="frame_bas" src="Index.htm" scrolling="auto" frameborder="1">
    frame, alors ?

    Merci de m'avoir répondu.

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Salut,

    Que veux-tu dire par "cadre" ? iframe ?

    Sinon il semble que la fonction window.find() cherche dans tout le document et en plus il ne fait qu'une recherche à la fois donc pour chercher les autres occurrences du mot dans le reste du document il faut à chaque fois relancer la fonction...

    A chaque fois que tu relances la fonction et qu'elle trouve le mot elle le met en surbrillance du coup tu perds la surbrillance de l'occurrence précédente, c'est-à-dire il n'y a qu'une seule surbrillance à la fois...

    Si tu veux récupérer tous les mots trouvés et les mettre tous en surbrillance (avec le style de ton choix) il faut écrire un code pour cela...

    Pour la surbrillance de tous les mots trouvés je l'avais fait ici : #19...

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    frameset... ça existe encore ??? j'ai du en utiliser pour le dernière fois il y a une dizaine d'années ...
    Je te déconseille fortement le frameset !
    Au pire des iframes, et encore.

    Ensuite il faut savoir que tu affiches une page différente dans chacun des frames.
    Il est possible de d'acceder aux éléments d'un cadre depuis un autre cadre ( fais eun recherche avec "communication entre fenetres" Auteur a fait un post là dessus
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Si tu veux suivre le conseil de SpaceFrog regarde par exemple ça : Mise en page en CSS : display:table Vs flexbox Vs grid layout ?...

    Mais avec ça je ne crois pas qu'on puisse afficher plusieurs documents dans une même page alors oui il y a les frames mais les iframes ce serait mieux je pense...

    A confirmer...

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2018
    Messages : 8
    Par défaut
    Bonsoir et Merci pour vos réponses !

    @ SpaceFrog j'ai voulu suivre ton conseil mais désolé je n'ai pas été capable de trouver le post avec la recherche ...

    je pensais pas que se serait si compliqué, que de demander à un "champ de recherche" installé dans un cadre de chercher dans l'autre !

    Désolé.

    Bonne soirée à vous !

  8. #8
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Salut,

    Je ne pense pas que ce soit si compliqué, il faudrait essayé mais ce serait bien d'avoir un exemple de code html...

  9. #9
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Citation Envoyé par Momie0 Voir le message
    Bonsoir et Merci pour vos réponses !

    @ SpaceFrog j'ai voulu suivre ton conseil mais désolé je n'ai pas été capable de trouver le post avec la recherche ...
    ...........
    https://www.developpez.net/forums/se...searchid=14304
    Communication entre plusieurs fenetres
    Transférer des informations : fenêtre parent <-> fenêtre enfant [FAQ]
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  10. #10
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Salut,

    En fait il n'utilise pas des fenêtres mais des frames ce qui pose problème...

    J'ai fais des tests avec frameset et des frames mais c'est une vraie prise de tête...

    C'est mieux quand on utilise une iframe, là j'ai réussi à effectuer une recherche sur le document de l'iframe...

    Mais cela ne fonctionne que si l'iframe (l'url chargée dans l'iframe) et son hôte ont le même domaine, c'est un problème de Same-origin policy...

    C'est un problème qui a été évoqué plusieurs fois dans le forum, SpaceFrog avait donné un lien ici : Exécuter des actions sur une page dans un iframe qui se trouve dans un autre domain...

    Un autre : https://javascript.info/cross-window-communication

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2018
    Messages : 8
    Par défaut
    Bonjour Beginner et Merci pour ton aide et le temps que tu prend pour m'aider ...
    Je ne connais pas du tout le fonctionnement des iframe c'est pour cela que je continue avec ce "vieux" système qui marche plutôt bien pour l'usage que j'en fait !

    En vérité je recherche un "moteur" de "mots" qui met en surbrillance quand il trouve un résultat et il faudrait qu'il cherche dans un fichier qui se trouve dans la frame "basse" ...
    Mon fichier se compose de 2 frames horizontale.

    C'est pour cela que j'utilisais le code désigné dans mon 1er post, car c'est le seul que j'avais trouvé qui fonctionnait correctement mais hélas dans un "mono" fichier .htm

    Maintenant, si il éxiste une autre façon de créer un fichier .htm avec une partie "haute" fixe dans laquelle je peut mettre ce code et mon fichier en dessous, cela m'intéresse ?

    Je précise que mon fichier .htm ne fonctionne qu'en mode local, il ne me sert qu'à trouver des noms, en somme une sorte de petite base de données que je met à jour de temps en temps ...

  12. #12
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Les iframes ce n'est pas plus compliqué c'est plus simple grossièrement : tu remplaces framset par body et frame par iframe...

    Si j'ai bien compris tu veux que le code de recherche soit dans la partie haute et la page html dans laquelle on effectue la recherche dans la partie basse (c'est le contraire qu'on d'habitude, c'est bien ça ?)


    Citation Envoyé par Momie0 Voir le message

    Je précise que mon fichier .htm ne fonctionne qu'en mode local, il ne me sert qu'à trouver des noms, en somme une sorte de petite base de données que je met à jour de temps en temps ...
    Justement c'est sur ça qu'il faut être précis pour savoir si on a le problème de cross origine... La page dans laquelle tu recherches (la frame d'en bas) est-elle dans le même répertoire que la page principale (celle qui contient les deux frames) ?

    Citation Envoyé par Momie0 Voir le message
    En vérité je recherche un "moteur" de "mots" qui met en surbrillance quand il trouve un résultat et il faudrait qu'il cherche dans un fichier qui se trouve dans la frame "basse" ...
    Tu veux qu'il cherche toute les occurrences du mot dans la page ? C'est-à-dire qu'il mette tous les mots trouvés en surbrillance ? Ou bien que seul le premier soit mis en surbrillance ?

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2018
    Messages : 8
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Si j'ai bien compris tu veux que le code de recherche soit dans la partie haute et la page html dans laquelle on effectue la recherche dans la partie basse
    Oui ...

    Citation Envoyé par Beginner. Voir le message
    La page dans laquelle tu recherches (la frame d'en bas) est-elle dans le même répertoire que la page principale (celle qui contient les deux frames) ?
    Oui ...

    Citation Envoyé par Beginner. Voir le message
    ... seul le premier soit mis en surbrillance ?
    Le premier me suffit grandement !

    Merci.

  14. #14
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Finalement pour éviter le problème de Same-origin policy j'ai dû désactivé la sécurité sur Chrome... Pour ça il faut lancer Chrome avec l'option : --disable-web-security --user-data-dir

    Pour que ce soit pratique, tu peux faire une copie d'un raccourci vers Chrome et ajouter l'option à la cible (à la fin), exemple : "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir

    J'ai testé avec cette page :

    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
     
    <!DOCTYPE html>
    <html>
     
    <head>
        <meta charset="utf-8">
        <title>Search</title>
     
    </head>
     
    <body>
     
        <div style="height: 70px">
            <input type="text" id="findField" value="" placeholder="Tapez ici le mot à chercher..." size="30" />
            <button onclick="search();">Find !</button>
        </div>
     
        <div style="height: 700px">
            <iframe name="myFrame" id="myFrame" width="100%" height="100%" src="html.html" /></iframe>
        </div>
     
     
        <script>
            function search() {
     
                var frame = document.getElementById('myFrame');
     
                var word = document.getElementById("findField").value;
     
                if (word == "") {
                    alert("Entrez un mot !");
                    return;
                }
     
                if (frame.contentWindow.find(word)) alert("Trouvé !");
                else alert("Non trouvé !");
            }
        </script>
    </body>
     
    </html>

    Il suffit de mettre le nom du fichier dans le "src" de l'iframe...

    Je n'ai pas repris ton code JS, j'en ai fait un autre...

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2018
    Messages : 8
    Par défaut
    Bonjour.

    Merci pour le code !

    Malheureusement, il ne fonctionne qu'avec Firefox sans ajouter de commande particulière dans son raccourci ...

    Pour Chrome et Chromium, si je les lance avec l'option " --disable-web-security --user-data-dir" j'ai l'erreur suivante :
    "Vous utilisez un indicateur de ligne de commande non pris en charge : --disable-web-security. La stabilité et la sécurité en seront affectées."

    Et si je les lance sans l'option, l'affichage est correct mais la recherche ne fonctionne pas ...

    Merci

    Ps: ma version de Chrome : Version 63.0.3239.132 (Build officiel) (64 bits)

  16. #16
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Citation Envoyé par Momie0 Voir le message

    Pour Chrome et Chromium, si je les lance avec l'option " --disable-web-security --user-data-dir" j'ai l'erreur suivante :
    "Vous utilisez un indicateur de ligne de commande non pris en charge : --disable-web-security. La stabilité et la sécurité en seront affectées."
    Oui mais est-ce que cela fonctionne ? Moi aussi j'ai cela et ça fonctionne, c'est normal que la sécurité soit affectée puisque cette option la désactive.

  17. #17
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2018
    Messages : 8
    Par défaut
    si je lance Chrome ou Chromium avec cette option, et si je lance mon fichier, j'ai une erreur me disant de redémarrer le navigateur ...
    Mais il ne se relance pas, en vérité il est figé, il n'y a plus qu'a le fermer !

  19. #19
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Ah ben je n'ai pas ce problème-là pourtant j'ai la même version que toi, étrange ces différences...

    Essaye peut-être avec l'option : --allow-file-access-from-files

  20. #20
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2018
    Messages : 8
    Par défaut
    désolé toujours la même erreur :
    Nom : erreur web security.jpg
Affichages : 291
Taille : 18,4 Ko

Discussions similaires

  1. un seul bouton de recherche
    Par yosraisi dans le forum Langage
    Réponses: 7
    Dernier message: 07/05/2008, 10h19
  2. Bouton de recherche dans un formulaire
    Par Le grand dans le forum IHM
    Réponses: 11
    Dernier message: 05/05/2008, 01h14
  3. Bouton de recherche.
    Par nodogeid dans le forum IHM
    Réponses: 2
    Dernier message: 25/06/2007, 09h43
  4. Bouton de recherche d'une adresse de dossier
    Par crashyear dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/10/2006, 08h12
  5. bouton de recherche
    Par angiosfr dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 28/12/2005, 21h52

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