Phonegap événements en ligne/hors connexion ne fonctionne pas
J'écris application avec phonegap(cordoue) 3.0.0 et d'événements "en ligne" et "hors ligne" ne fonctionne pas. Quand j'ai essayé de l'événement "reprendre", cet événement a été OK. J'utilise XCode 4.5 et IOS.
C'est mon principal fichier javascript de phonegap projet:
var app = {
initialize: function() {
this.bindEvents();
},
//Bind Event Listeners
//
//Bind any events that are required on startup. Common events are:
//'load', 'deviceready', 'offline', and 'online'.
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
document.addEventListener('online', this.onDeviceOnline, false);
document.addEventListener('resume', this.onDeviceResume, false);
},
onDeviceReady: function() {
app.receivedEvent('deviceready');
},
onDeviceOnline: function() {
app.receivedEvent('deviceonline');
},
onDeviceResume: function() {
app.receivedEvent('deviceresume');
},
receivedEvent: function(id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received');
listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;');
console.log('Received Event: ' + id);
}
};
Merci pour les conseils
Vous devez vous connecter pour publier un commentaire.
si vous souhaitez afficher en ligne /hors ligne, vous devez ajouter au réseau de l'information plugin d'abord avec l'invite de commande
après l'ajout du plugin en ligne /hors ligne évènement devrait fonctionner, il fonctionne très bien pour moi
Ces événements doit être lier à l'intérieur "onDeviceReady", ils ne fonctionneront pas avant de l'DeviceReady. Cochez cette Attacher un écouteur d'événement une fois le deviceready feux
Veuillez noter qu'en ligne/hors ligne de l'événement n'est pas déclenché lorsque l'application démarre, ces cas seulement être licencié lors de la connectivité des changements d'état. Disons que lorsque l'application démarre en mode en ligne, jusqu'à ce qu'il passe hors ligne, hors ligne de l'événement ne sera pas déclenchée, même pour un événement en ligne.
Pour vérifier la connectivité, vous devez utiliser le code ci-dessous
Dans corodova (pas phonegap), vous devez ajouter un plugin de cette façon:
cordova plugin add org.apache.cordova.network-information
vous devez ajouter une Connexion plugin à votre projet, puis cet événement sera déclenché.
pour ajouter une Connexion plugin utiliser la commande suivante:
Dans le phonegap dossier de projet:
Dans
index.js
:Dans
index.html
, quelque part :