2017-01-12 5 views
0

Я написал сценарий, чтобы определить, есть ли соединение Wi-Fi или нет. Тем не менее, я заметил, что если приложение запускается, когда нет соединения Wi-Fi, заставка будет загружена, а затем я получу белый экран. Консоль показывает эту ошибку:ионный белый экран после splashscreen

Failed to load resource: net::ERR_INTERNET_DISCONNECTED

это мой сценарий для обнаружения Wi-Fi и его помещают в «$ ionicPlatform.ready»:

$rootScope.$on('$cordovaNetwork:offline', function(event, networkState) 
    { 
     connectionerror($ionicPopup) 
    }) 

    //display error msg and close the app. 
    function connectionerror($ionicPopup,$scope) 
    { 
     var myPopup = $ionicPopup.show({ 
     title: 'Network Error', 
     content: 'No internet connectivity detected. Please try again.', 
     buttons: [ 
     { 
      text: '<b>Retry</b>', 
      type: 'button-positive', 
      onTap: function(e) 
      { 
      if (!$cordovaNetwork.isOnline()) 
      { 
       e.preventDefault(); 
      } 
      else 
      { 
       $state.reload(); 
      } 
      } 
     }] 
     }); 
    } 

Как это исправить, так что после SplashScreen , если нет Wi-Fi, сообщение покажет?

ответ

0

Ошибка возникает, если вы пытаетесь загрузить ресурс с вашего компьютера, возможно. Если вы используете ионную подачу или ионную услугу вживую, и вы отключите Wi-Fi, приложение попытается загрузить шаблон с вашего компьютера с помощью Wi-Fi и не сможет этого сделать.

Чтобы проверить этот сценарий, вы должны создать приложение и запустить его на устройстве.

Если это работает, контроллер должен работать по-другому. Он должен выглядеть следующим образом:

.controller('controller', function($scope, $rootScope, $state, $ionicPopup, $cordovaNetwork){ 
    $rootScope.$on('$cordovaNetwork:offline', function(event, networkState) 
     { 
     connectionerror() 
     }) 

    //display error msg and close the app. 
    function connectionerror() 
    { 
     var myPopup = $ionicPopup.show({ 
     title: 'Network Error', 
     content: 'No internet connectivity detected. Please try again.', 
     buttons: [ 
     { 
      text: '<b>Retry</b>', 
      type: 'button-positive', 
      onTap: function(e) 
      { 
      if (!$cordovaNetwork.isOnline()) 
      { 
       e.preventDefault(); 
      } 
      else 
      { 
       //go to a state like index or home instead of reload. Reload resets the application and should be avioded in single page apps 
       $state.go('...'); 
      } 
      } 
     }] 
     }); 
    } 
}) 
+0

На самом деле я запускаю приложение с устройства. И устройство не подключено к ПК во время теста. Когда я выключаю свой Wi-Fi, а затем запускаю приложение, экран заставки загружается, тогда я получаю белый экран с ошибкой, о которой я упоминал в вопросе – noor

+0

, можете ли вы опубликовать весь контроллер? – Hiraqui