Comment faire pour alerter l'utilisateur quand il n'y a pas de connexion internet
J'ai besoin d'alerter l'utilisateur avec les conditions suivantes;
- De la demande dépassé
- Pas de connexion internet
- Impossible de joindre le serveur
Voici le code; Comment capturer les conditions suivantes lors de la survenue et alerte l'utilisateur ?
failure: function (response) {
var text = response.responseText;
console.log("FAILED");
},success: function (response) {
var text = response.responseText;
console.log("SUCCESS");
}
J'ai essayé le code suivant pour vérifier si l'internet est accessible, mais il ne fonctionne pas
var networkState = navigator.network.connection.type
alert(states[networkState]);
if (networkState == Connection.NONE){
alert('No internet ');
};
Mise à JOUR **
J'ai ajouté ce qui suit dans mon index.html mais, quand j'ai désactiver le WIFI, je ne vois pas l'alerte popping.
<script>
function onDeviceReady() {
document.addEventListener("offline", function() {
alert("No internet connection");
}, false);
}
</script>
- Quelle erreur / d'avertissement est lancé sur le journal de la console?
- Rien n'est projeté.
Vous devez vous connecter pour publier un commentaire.
La meilleure chose à faire est d'écouter les "en mode hors connexion" de l'événement. Lorsque vous obtenez l'événement offline vous pouvez avertir vos utilisateurs et de prendre toutes les mesures nécessaires pour enregistrer les données, etc.
Par exemple, votre "deviceready" rappel:
Ce code devrait fonctionner pour la plupart toutes les versions de PhoneGap. Elle est, au moins depuis la version 1.0.
Exactement comme l'a dit Simon, vous pouvez utiliser
ou vous pouvez interroger la propriété booléenne
(Doit retourner true ou false)
Cependant, cette technique vous permet de savoir si l'appareil est connecté. Le problème est tel que l'appareil peut être connecté au WiFi, mais le routeur est peut-être hors ligne. Dans ce cas, utiliser un mécanisme d'interrogation, comme en temps opportun
Ext.Ajax.request
avec moins de délais d'attente. Délai d'attente expiré = hors ligne.Vous pouvez utiliser PhoneGap du RÉSEAU API
Vous pouvez tester de la façon suivante,
onDeviceReady
,reachableCallback
). Est-il dans leapp.js
?navigator.network.isReachable("phonegap.com", reachableCallback, {});
ligne où vous voulez tester votre connexion réseau, et d'ajouter une fonction de rappel.Vous pouvez ajouter un 'Ext.de l'appareil.Connexion' app.js de votre application. Et vérifiez que votre appareil est en ligne ou hors ligne à l'aide de code:
Juste Intégrer ceci dans votre balise de