[js] tester la connexion internet
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
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
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:
- [js] tester la connexion internet
- Gmail connexion - Guide
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester son pc - Guide
- D'où peut venir un problème de connexion internet sur un ordinateur ? - Guide
- Arcep ma connexion internet - Accueil - Box & Connexion Internet
2 réponses
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).
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).
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.
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.