[js] tester la connexion internet

Résolu/Fermé
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 - 14 avril 2009 à 23:32
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 - 15 avril 2009 à 15:57
Bonjour,

Est-ce qu'il y a moyen, en javascript, de savoir si l'ordinateur est connecté ou non à internet ?
J'ai en fond d'écran ma page html (qui vient d'un fichier sur mon disque dur) bourrée de js, et j'ai eu l'idée de rediriger (avec location.href) vers une page php si c'est bien possible. Comment le savoir ? Je n'aimerais pas qu'il tente de me rediriger vers http://.../toto.php si je n'ai pas de connexion...

Merci d'avance
A voir également:

2 réponses

bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 860
15 avril 2009 à 00:48
J'ai trouvé cette méthode : http://www.webmasterworld.com/forum91/2420.htm
Mais elle est foireuse à cause du cache... Mais si quelqu'un saurait me dire comment la "défoirer" ça me va :).

Sinon, je précise aussi que, vu que c'est mon fond d'écran, je peux utiliser un ActiveX (ce que j'utilise déjà d'ailleurs) mais je n'ai pas trouvé comment faire un ping avec (ni/ou tester la connexion d'une autre manière avec).
0
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 860
15 avril 2009 à 15:57
Bon, pour ceux qui seraient intéressés, j'ai trouvé un moyen (bien tordu) mais ça à l'air de bien marcher sous IE (pas sous firefox mais je m'en fous).
Sous IE les .js ne sont apparemment pas stockés dans le cache.
Du coup, j'essaye d'aller en pêcher un (par exemple le xiti.js de ccm) dont je connais une variable et sa valeur (dans le xiti de ccm la variable xtdr vaut 30), je déclare la même dans mon code initialisée avec une autre valeur.
Je n'ai plus qu'à tester si cette valeur change ou non (si le js a pu être chargé ou non) une seconde après la tentative.
Si pas de connexion, je lui change son src pour qu'il arrête d'essayer de me récupérer le js inaccessible :).

<html>
<body>
<script>
function check(t) {
alert("valeur test="+t);
if(t == 1) {
alert("pas de connexion :(");
document.getElementById("script").src="toto.js"; //=> un fichier .js local
} else {
alert('connexion ok :)');
}
}

var xtdr = 1;
setTimeout("check(xtdr);", 1000);
</script>
<script id="script" type="text/javascript" src="http://static.commentcamarche.net/www.commentcamarche.net/remote/xiti.js"></script>
</body>
</html>

Remarque : C'est juste pour l'exemple que j'ai pris le xiti.js de ccm. Je ne sais pas s'il peut y avoir une raison qu'il change mais je pense qu'il vaut mieux essayer de pêcher un autre .js ailleurs dont on est sûr qu'il ne changera pas.
0