2016-08-06 7 views
1

私のIonicアプリでは、ユーザーがオフラインかオンラインかに基づいて特定のアクションを実行する必要があります。navigator.onLine on Ionic app

私は接続状態を見つけるためにアプリで$ cordovaNetworkプラグインを使用しています。しかし、私のラップトップでの開発中、私は接続をテストする簡単な方法を探しています(デバイスにデプロイする必要はありません)。

私は、navigator.onLineを使ってオフライン/オンラインビジネスロジックをテストすることを考えました。しかし、ラップトップの無線LANをオフにしても(ノートPCにLANケーブルが接続されていない)、navigator.onLineはtrueを返します。

navigator.onLineをfalseに戻す方法や、インターネットに接続されているかどうかを調べる方法はありますか?

EDIT:コントローラ(例)に続い

//service to check if device or (browser) is online or offline 

.factory('ConnectivityMonitor', function($rootScope, $cordovaNetwork){ 

    return { 
    isOnline: function(){ 
     if(ionic.Platform.isWebView()){ 
     return $cordovaNetwork.isOnline(); 
     } else { 
     return navigator.onLine; 
     } 
    }, 
    isOffline: 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){ 
     console.log("went online"); 
     }); 

     $rootScope.$on('$cordovaNetwork:offline', function(event, networkState){ 
     console.log("went offline"); 
     }); 

    }else { 

     window.addEventListener("online", function(e) { 
     console.log("went online"); 
     }, false);  

     window.addEventListener("offline", function(e) { 
     console.log("went offline"); 
     }, false); 
    }  
} 
    } 
}) 

ブラウザはクロム

+0

(navigator.onLine){ \tはconsole.log(「ユーザーがオンラインである」)場合、我々はあなたに –

+0

を助けることができるように、いくつかのコードスニペットを共有してください。 } else { \t console.log( 'ユーザーはオフラインです'); } ラップトップでWi-Fiがオフになっている場合でも常に「ユーザーはオンライン」になります – kayasa

答えて

関連する問題