Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème fichier javascript

mettre fichier javascript dans fichier html

Sujet résolu
    20 avril 2018 à 11:11:15

    Bonjour,

    J'ai commencé à coder une page en html, et je rencontre un problème quand j'essaie de déclarer le fichier javascript dans mon fichier html.

    Voici mon fichier html (oubliez le socket) :

    <!DOCTYPE html>
    
    <html>
    
        <head>
    
            <meta charset="utf-8" />
    
            <title>Socket.io</title>
    
            <script langage="javascript" type="text/javascript" src="scriptsTest.js"> </script>
    
        </head>
    
        <body>
    
            <h1>Communication avec socket.io !</h1>
    
            <script src="/socket.io/socket.io.js"></script>
    
            <script>
    
                var socket = io.connect('http://localhost:8080');
    
                socket.on('message', function(message) {
    
                    alert('Le serveur a un message pour vous : ' + message);
    
                });
    
            </script>
    
            <button type="button" onclick="monAction();">Cliquez-moi !</button>
    
        </body>
    
    </html>
     



    et mon fichier javascript

    function monAction() {
    
        alert('Helfqegrehstrjdytkufy!');
    
    }



    Quand je lance le programme, mon navigateur met le contenu du fichier html dans le fichier javascript, et je ne comprends pas pourquoi.

    Je ne comprends pas pourquoi mon navigateur fait ça, et je n'ai pas trouvé de personne ayant ce problème sur google...

    Si quelqu'un a une réponse, serait-il possible de m'aider s'il-vous-plaît ?

    -
    Edité par spifice 20 avril 2018 à 11:13:03

    • Partager sur Facebook
    • Partager sur Twitter
      20 avril 2018 à 15:42:09

      A mon avis tu utilise nodejs comme sevrer, il est mal configuré :)
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        20 avril 2018 à 16:26:24

        bonjour. tout d'abord, enlevez l'attribut language de la balise script. ce la fait bien longtemps qu'il n'est plus recommandé. en suite expliquez la manière dans le code est censé fonctionner. je n'ai jamais utilisé les APIS websocket, mais je connais assez bien javascript et node js.

        -
        Edité par Anonyme 20 avril 2018 à 16:30:03

        • Partager sur Facebook
        • Partager sur Twitter
          21 avril 2018 à 15:54:35

          Je ne comprends pas trop ton soucis, chez moi tout fonctionne bien, ton bouton va bien chercher ta fonction et affiche le message.

          Pour ton fichier .js qui change, aucune idée mais comme t'es en localhost t'as sûrement un truc mal configuré comme dit plus haut. Avec un autre navigateur ça te fait pareil?

          • Partager sur Facebook
          • Partager sur Twitter
          Donne moi ton avis sur ma Reconversion professionnel en Développeur Web ----- Rejoins moi sur LinkedIn
            21 avril 2018 à 16:22:51

            Pourrait-tu nous monté le code de ton fichier js cote serveur ? Si tu utilise express cela doit surement venir de lui
            • Partager sur Facebook
            • Partager sur Twitter
              21 avril 2018 à 17:50:41

              J'utilise un modèle serveur/client avec une connexion en socket.

              J'ai essayé avec un autre navigateur et ça n'a pas marché non plus...

              Je n'utilise pas express mais http. 

              Voilà le code du serveur

              var http = require('http');
              var fs = require('fs');
              var url = require('url');
              
              // Chargement du fichier index.html affiché au client
              var server = http.createServer(function(req, res) {
                
                  var page=url.parse(req.url).pathname;
                  var routes=['/index.html','/affichage.html'];
              
                  if(routes.indexOf(page) !==-1){
                    fs.readFile('./'+page, 'utf-8', function(error, content) {
                    res.writeHead(200, {"Content-Type": "text/html"});
                    res.end(content);     
                    });
                  }
              
              });
              
              // Chargement de socket.io
              var io = require('socket.io').listen(server);
              var NbClient =0;
              
              io.sockets.on('connection', function (socket, pseudo) {
                  NbClient++;
              
                  socket.on('nouveau_client', function(pseudo){
                    socket.pseudo=pseudo;
                  });
              
                  console.log('Un client est connecté. Nombre de clients : '+NbClient);
                  socket.emit('message', 'Vous êtes bien connecté. Nombre de clients : '+NbClient);
                  //socket.broadcast.emit('message', 'Un autre client vient de se connecter !');
              
                  // Quand le serveur reçoit un signal de type "message" du client    
                  socket.on('msg', function (msg) {
                    console.log('Un client me parle ! Il me dit : ' + msg+' '+socket.pseudo);
                  });
              
                  socket.on('disconnect', function(){
                    NbClient--;
                    console.log('déconnexion du client '+socket.pseudo);
                  });
              
              });
              
              server.listen(8080);
              


              J'avais dans un autre topic qu'il peut y avoir des problèmes quand on inclut plusieurs fichiers javascript dans un fichier html, peut-être que le problème vient de là

              -
              Edité par spifice 21 avril 2018 à 17:53:03

              • Partager sur Facebook
              • Partager sur Twitter
                22 avril 2018 à 14:42:09

                Et comment le serveur est sensé accédez aux fichier javascript si il n'ont pas de route défini ?

                Affiche ta variable page.

                • Partager sur Facebook
                • Partager sur Twitter
                  22 avril 2018 à 16:02:09

                  Le serveur n'utilise pas le fichier javascript.

                  La connexion client/serveur marche très bien, et quand je mets du code javascript directement dans le fichier html dans des balises <script>, ça fonctionne très bien aussi.

                  Mais à partir du moment ou je mets du code javascript dans un autre fichier et que j'appelle ce fichier dans mon fichier html, il y a l'erreur du navigateur qui se trompe en lisant le fichier javascript (comme expliqué dans mon premier poste).

                  Là je me connecte au serveur avec le index.html, et j'affiche page

                  le serveur définit les routes des fichiers html, et les fichiers html ont la routes du fichier javascript. Tu veux dire qu'il faut aussi dans le serveur définir la route du fichier javascript ?

                  -
                  Edité par spifice 22 avril 2018 à 16:05:29

                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 avril 2018 à 18:39:07

                    spifice a écrit:

                     Tu veux dire qu'il faut aussi dans le serveur définir la route du fichier javascript ?


                    Oui !
                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 avril 2018 à 18:55:03

                      Comment tu définis la route d'un fichier javascript dans un autre fichier javascript ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        22 avril 2018 à 19:01:18

                        Comme pour les fichiers HTML.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          22 avril 2018 à 20:46:47

                          Ah cool ça marche maintenant !
                          merci beaucoup pour ton aide ! :D
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Problème fichier javascript

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown