Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tester la connexion internet avec JavaScript

Vérifier si je suis connecté à Internet

    19 mars 2015 à 13:22:04

    Bonjour à tous,

    Je cherche un script JavaScript qui me permet de savoir si oui ou non je suis connecté a Internet

    Je suis en Local sans serveur wamp ni EasyPHP, que du html et JavaScript

    J'ai cherché mais les codes ne marche pas.

    Merci de votre aide !

    • Partager sur Facebook
    • Partager sur Twitter
      19 mars 2015 à 13:26:27

      document.location = "www.google.com";
      Si t'as google, t'as internet (je devrais en faire un slogan tiens ^^ )
      • Partager sur Facebook
      • Partager sur Twitter
      Directeur technique, créateur de jeux HTML5 et fan de JavaScript | La suite de OnHack est sur les rails !
        19 mars 2015 à 14:44:16

        Ok merci, je comprends,

        heurrrrr, je reflechit à la condition à mettre 

        comment dire :

        if(document.location est bon){il y a connexion}else{offline}


        Merci !

        • Partager sur Facebook
        • Partager sur Twitter
          20 mars 2015 à 13:54:06

          la seule solution "viable" que je connaisse, c'est de tenter de charger (en ajax) un fichier (donc forcement sur le meme domaine que ton site) et donc ça ne marchera pas si t'as pas un serveur web.
          • Partager sur Facebook
          • Partager sur Twitter

          N'utilisez JAMAIS alert() pour debugger. Utilisez console.log()

            20 mars 2015 à 16:12:51

            Pour un éventuel test avec Javascript, il faut effectivement une cible acceptant les requêtes AJAX.

            Ne connaissant pas d'adresse (et visiblement ça court pas les cyberRues), tu as besoin d'un serveur web sur lequel tu mettrais une page avec pour en-tête :

            Page web distante sur ex : http://mondomaine.com/pagetest.php

            <?php
            
            header('Access-Control-Allow-Origin: *');
            ?>

            Ta page locale, située ex : file:///C:/Documents%20and%20Settings/TestCo.html (cad dans le dossier 'Mes documents' et nommé TestCo.html) doit dans ce cas contenir le test suivant :

            <script>
            //La fonction servant à effecuter le test
            var TestConnection_js = function (){
            	var xhr = new XMLHttpRequest();
                xhr.open('HEAD', 'http://mondomaine.com/pagetest.php'); //Adresse à modifier (google n'accepte pas cette requête)
            	xhr.onreadystatechange = function(){
                    console.log(xhr.readyState);         
            		if (xhr.readyState == 4 && xhr.status == 200) {
            			//La requête a fonctionnée
            		} else if(xhr.readyState == 4) { //La requête est terminée et une erreur a eu lieu
            			alert('Connection Error '+xhr.status);
            		}
            	};
            	xhr.send(null);
            	return xhr;
            }
            //L'excécution de cette fonction
            TestConnection_js();
            </script>

            Plus d'informations http://openclassrooms.com/courses/dynamisez-vos-sites-web-avec-javascript/l-ajax-qu-est-ce-que-c-est

            En espérant que cela aide ...

            Tu veux faire quoi avec ce test si tu n'as pas de serveur ?

            Edit : En utilisant la réponse de Shivaan, comme suit, je constate que ça redirige sur google.

            Faudrait savoir comment empêcher la redirection

            Solution de Shivaan :

            <script>
            document.location = "http://www.google.com";
            //Prévoir de bloquer la redirection ici ?
            if(document.location === 'undefined'){
             //Pas d'internet
            } else {
             //internet
            }
            
            </script>

            -
            Edité par Soignisec 20 mars 2015 à 16:30:50

            • Partager sur Facebook
            • Partager sur Twitter
              20 mars 2015 à 16:19:17

              Merci #Soignisec

              Je fait des saisies en offline, et je veux vérifier la disponibilité de la connexion pour faire une redirection vers l'application Online pour mise a jour

              Merci je suis disponible pour toutes suggestions

              Je test ton code et te fait un retour

              Merci !

              • Partager sur Facebook
              • Partager sur Twitter
                1 mars 2017 à 14:11:02

                Bonjour à tous,

                Je cherche un code html5 qui me permet de savoir si oui ou non je suis connecté a Internet

                Merci de votre aide !

                • Partager sur Facebook
                • Partager sur Twitter
                  1 mars 2017 à 15:38:02

                  Bonjour,

                  Charge un fichiezr javascript sur un cdn et regarde si la fonction du fichier javascript est disponible.

                  Par exemple essai d'inclure https://cdnjs.cloudflare.com/ajax/libs/flatpickr/2.4.2/flatpickr.js en debut de page

                  Et pour tester si tu as accès au net tu vas donc faire:

                  if(typeof flatpickr === 'function'){
                      alert('J\'ai le net!!');
                  }

                  P.S. La prochaine fois récouvre un sujet au lieu de deterrer un truc vieux de 2 ans (en plus tu as du avoir l'avertissement quand tu a svoulu répondre)

                  -
                  Edité par Krogoth 1 mars 2017 à 15:39:17

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Un petit +1 si je vous ai aidé est toujours appréciable :).
                    2 mai 2018 à 13:16:23

                    Tout simplement tu peux procéder ainsi

                    if(navigator.onLine)
                                {
                                    alert("Browser is online");
                                }
                                else
                                {
                                    alert("Browser is offline");
                                }

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Tester la connexion internet avec 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