2016-04-27 4 views
0

В одном из моих приложений Ionic мне нужно проверить, что сетевое подключение доступно или нет на устройстве. Если нет, мне нужно отобразить предупреждение о том, что «Сетевое подключение недоступно». Поэтому я установил плагин сетевого подключения Cordova и использовал следующий код. Я думаю, что оффлайн-событие стреляет дважды. Потому что сообщение предупреждения отображается дважды, а приложение находится в автономном режиме.Оффлайн-мероприятие дважды стреляет по мобильному приложению Ionic

.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(); 
      }); 
     } 
    }); 
}) 

Не знаете, почему он стреляет дважды. Мне нужно, чтобы он выстрелил один раз.

ответ

0

Одна из возможных причин заключается в том, что где-то в вашем проекте вы дважды втягивали файл js плагина (Кордова должна сделать это автоматически для вас, но это все еще возможно из-за неправильной конфигурации). Проверьте это.

Если вы просто хотите быстро исправить, just.add underscore.js к вашему проекту и использования:

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

Не используйте документ. Пользовательский угловой сервис $ window. Это сработало для меня

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

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

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