2016-04-27 5 views
0

In einer meiner Ionic-Anwendung muss ich überprüfen, ob Netzwerkverbindung verfügbar ist oder nicht auf dem Gerät. Wenn nicht, muss ich eine Warnung anzeigen, dass "Netzwerkverbindung nicht verfügbar ist". Also habe ich das Netzwerkverbindungs-Plugin von Cordova installiert und den folgenden Code verwendet. Aber das Offline-Event wird zweimal ausgelöst, denke ich. Weil die Warnmeldung zweimal angezeigt wird, während sich die App im Offline-Modus befindet.Offline-Ereignis wird zweimal auf Ionic Mobile app

.run(function($ionicPlatform, $ionicPopup) { 
    $ionicPlatform.ready(function() { 

     document.addEventListener("offline", displayofflineAlert, false); 

     function displayofflineAlert() { 
      $ionicPopup.alert({ 
       title: "No Internet", 
       content: "No Internet Connection available." 
      }) 
      .then(function(result) { 
       ionic.Platform.exitApp(); 
      }); 
     } 
    }); 
}) 

Nicht sicher, warum es zweimal feuert. Ich brauche es einmal zu feuern.

Antwort

0

Ein möglicher Grund ist, dass Sie irgendwo in Ihrem Projekt die js-Datei des Plugins zweimal eingelesen haben (Cordova sollte dies automatisch für Sie tun, ist aber aufgrund einer Fehlkonfiguration immer noch möglich).

Wenn Sie nur eine schnelle Lösung wollen, just.add Underscore.js zu einem Projekt und Verwendung:

document.addEventListener("offline", _.throttle(displayofflineAlert, 100), false); 
0

Sie nicht Dokument verwenden. Benutzer Winkel $ Fenster Service. Das hat für mich funktioniert

app.run('$window', [function($window){ 

    $window.addEventListener('online', onOnline, false); 

    function onOnline() { 
       // do something 
     } 
}]) 
Verwandte Themen