2017-01-12 3 views
0

나는 WiFi 연결이 있는지 여부를 감지하는 스크립트를 작성했습니다. 그러나 Wi-Fi 연결이 없을 때 앱이 시작되면 스플래시 화면이로드되고 흰색 화면이 표시됩니다. 콘솔이 오류 표시 :이 와이파이 및 검출 용 내 스크립트입니다스플래시 스크린 후 이온 흰색 화면

Failed to load resource: net::ERR_INTERNET_DISCONNECTED

을 그것 '$ 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 후 , 와이파이가 없다면 메시지가 표시됩니까?

답변

0

아마도 PC에서 리소스를로드하려고 할 때 오류가 발생합니다. ionic serve 또는 ionic serve live를 실행 중이고 Wi-Fi의 연결을 끊는 경우 앱은 Wi-Fi를 사용하여 PC에서 템플릿 양식을로드하려고 시도하며이를 수행 할 수 없습니다.

해당 스크립트를 테스트하려면 앱을 빌드하고 장치에서 실행해야합니다.

작동하는 경우 컨트롤러가 다르게 작동해야합니다. 다음과 같이 보일 것입니다 :

.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

실제로 장치에서 응용 프로그램을 실행하고 있습니다. 그리고 테스트시 장치가 PC에 연결되어 있지 않습니다. Wi-Fi를 끈 다음 앱을 시작하면 스플래시 화면이로드되어 질문에서 언급 한 오류가있는 흰색 화면이 표시됩니다. – noor

+0

전체 컨트롤러를 게시 할 수 있습니까? – Hiraqui

관련 문제