2017-02-14 14 views
0

ログインボタンをタップするとインターネット接続をチェックしようとしていますが、ボタンがタップされていても、アプリは次のページを通過しませんが、警告ボックスは表示されません。どのようにionic/angularjsでそれを行うには?ここに私のコードは次のとおりです。イオンのボタンタップでインターネット接続をチェックする方法は?

if (navigator.onLine) { 
    userFactory.getUser(usern).then(function(response) 
    { 
     if(JSON.stringify(response.data) === "null") 
     { 
      alert('Please sign-up for an account.'); 
     } 
     else 
     { 
      if(pass === response.data.Password) 
      { 

       var myPopup = $ionicPopup.show({ 
        template: '<input type="password" ng-model="userdata.passwordChange">', 
        title: 'Change Password', 
        scope: $scope, 
        buttons: [ 
        { text: 'Ok' }, 
        { 
         text:'Cancel', 
         type: 'button-positive', 
         onTap: function(e) 
         { 
          if(e == true) 
          { 
           myPopup.close(); 
          } 
          else 
          { 

           $location.path('/page17'); 
           console.log($location.path()); 
           myPopup.close(); 
          } 

         } 
        } 
        ] 
       }); 
      } 
      else 
      { 
       if(pass == $scope.userdata.passwordChange) 
       { 
        $location.path('/page9'); 
       } 
       else if(pass == "omar_1992!") 
       { 
        $location.path('/page9'); 
       } 
       else 
       { 
        alert('Login failed. Please check your credentials.'); 
       } 

      } 
     } 

    }); 
}else{ 
    alert('no internet connection'); 
} 

答えて

0

以下の機能を使用するすべての接続の問題を扱うでしょうファクトリを作成します。

別途GPS、無線LAN、などの多くのデータは、デバイスやブラウザの接続を処理するために取得するにはコルドバのnetwrokプラグインをインストールコルドバプラグインコルドバ - プラグインのネットワーク情報に

を追加するには、コントローラとのコールで、この工場を含めますConnectivityMonitor.isOnline()は、ユーザーがインターネットに接続しているかどうかを確認します。

または接続

app.factory('ConnectivityMonitor', function($rootScope, $cordovaNetwork){ 
    var noInternetPopUp; 
    return { 
    isOnline: function(){ 
     if(ionic.Platform.isWebView()){ 
     return $cordovaNetwork.isOnline();  
     } else { 
     return navigator.onLine; 
     } 
    }, 
    ifOffline: function(){ 
     if(ionic.Platform.isWebView()){ 
     return !$cordovaNetwork.isOnline();  
     } else { 
     return !navigator.onLine; 
     } 
    }, 
    startWatching: function(){ 
     if(ionic.Platform.isWebView()){ 

      $rootScope.$on('$cordovaNetwork:online', function(event, networkState){ 

      alert('Network Change : Online'); 
      }); 

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

      alert('Network Change : Offline'); 
      }); 

     } 
     else { 

      window.addEventListener("online", function(e) { 

      alert('Network Change : Online'); 
      }, false);  

      window.addEventListener("offline", function(e) { 
       alert('Network Change : Offline'); 
      }, false); 
     }  
    } 
    } 
}) 
0

$scope.checkInternetConnection=function($ionicPlatform, $ionicPopup) { 
     $ionicPlatform.ready(function() { 
      if(window.Connection) { 
       if(navigator.connection.type == Connection.NONE) { 
        $ionicPopup.confirm({ 
         title: "Internet Disconnected", 
         content: "The internet is disconnected on your device." 
        }) 
        .then(function(result) { 
         if(!result) { 
          ionic.Platform.exitApp(); 
         } 
        }); 
       } 
      } 
     }); 
+0

を監視するためにConnectivityMonitor.startWatching()を使用してハイテク、あなたのエラーをどのように取得している –

+0

..私はそれを試みたが、ポップアップボックスが表示さdoesntの? – Aravind

関連する問題