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

Arduino Discussion :

ouvrir une deuxième page HTML [Arduino ESP32]


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 406
    Par défaut ouvrir une deuxième page HTML
    Bonjour à tous, je butte sur un problème qui paraît simple: comment ouvrir une deuxième page HTML?
    1. j'ouvre une première page HTML qui me permet de faire x commandes avec javascript. Tout fonctionne bien.
    2. une de ces commandes doit ouvrir une nouvelle page HTML permettant de saisir une configuration.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    case '2':
                        if(kb[2]=='A' && kb[3]=='A'){
                            lUrl = "API?Cmd=2AA";
                            appServeur(lUrl, ack); //envoi la commande au serveur
                        }
    3. le serveur renvoit la nouvelle page HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //****ouverture de la page de configuration****
        if(commande[0]=="Cmd" && action[0]=="2AA"){
          req->send(200,"text/html",progHTML);
        }
    progHTML est un String contenant le fichier HTML prog.html chargé dans le SPIFF.

    4. javascript reçoit le fichier HTML. Mais comment peut-il le faire afficher?

    Si quelqu'un a une piste?

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    Vous pouvez avoir une page web qui contient un bouton qui déclenche un JavaScript qui va ouvrir une nouvelle fenêtre sur une URL donnée

    par exemple
    Code : 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
     
    <!DOCTYPE html>
    <html lang="fr">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Ouvrir une nouvelle fenêtre</title>
    </head>
    <body>
     
    <button onclick="ouvrirNouvelleFenetre()">Ouvrir une nouvelle fenêtre</button>
     
    <script>
    function ouvrirNouvelleFenetre() {
        // Spécifiez l'URL que vous souhaitez ouvrir dans la nouvelle fenêtre
        var url = "https://www.developpez.net/forums/d2165503/general-developpement/programmation-systeme/embarque/arduino/esp32-ouvrir-deuxieme-page-html/#post12021144";
     
        // Ouvrez une nouvelle fenêtre avec l'URL spécifiée
        window.open(url, "_blank");
    }
    </script>
     
    </body>
    </html>

    si vous sauvez cela dans test.htm et que vous l'ouvrez dans un navigateur, vous verrez un bouton "Ouvrir une nouvelle fenêtre" et quand vous clickez dessus vous aurez un nouvel onglet ou fenêtre (en fonction des prefs de votre navigateur) dont le contenu viendra de l'URL spécifiée. Ici j'ai mis un lien vers ce post mais vous pourriez bien sûr avoir un lien vers votre Arduino qui balancera en réponse le contenu souhaité

  3. #3
    Membre éclairé
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 406
    Par défaut
    merci Jay M pour cette réponse, mais, si possible, je ne voudrais pas ajouter un bouton. J'aimerais qu' une commande décodée dans javascript me déclenche l'appel de la nouvelle fenêtre.
    En fait je viens de trouver la solution:
    Dans ma page HTML d'origine j'ajoute un ancre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="/comProg" target="_blank" id="afficProg"></a>
    Puis dans mon code javascript, lorsque je reçois la commande pour afficher la deuxième page, j'envoie la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("afficProg").click();
    J'ai au préalable initialisé mon serveur, un ESP32, pour envoyer le fichier progHTML contenant la deuxième page HTML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //****prog.html****
      serveur.on("/comProg",HTTP_GET, [](AsyncWebServerRequest *req){
        req->send(200,"text/html", progHTML);
      });

  4. #4
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    Oui le bouton c’était juste pour l’exemple - le JavaScript peut être déclenché par d’autres événements

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

Discussions similaires

  1. Ouvrir une nouvelle page HTML
    Par mormic dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 14/05/2020, 09h52
  2. Réponses: 2
    Dernier message: 04/06/2007, 09h33
  3. window.confirm pour ouvrir une nouvelle page
    Par Are-no dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/08/2006, 17h50
  4. Comment ouvrir une nouvelle page dans la fenetre courante ?
    Par Stbaurl dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/12/2005, 11h46
  5. Réponses: 7
    Dernier message: 13/12/2005, 16h22

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