У меня есть код для проверки онлайн/оффлайн в моем приложении cordova.Cordova angular offline check
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown';
states[Connection.ETHERNET] = 'Ethernet';
states[Connection.WIFI] = 'WiFi';
states[Connection.CELL_2G] = 'Cell2G';
states[Connection.CELL_3G] = 'Cell3G';
states[Connection.CELL_4G] = 'Cell4G';
states[Connection.CELL] = 'Cellgeneric';
states[Connection.NONE] = 'Nonetwork';
alert(states[networkState]);
if(states[networkState]!='Nonetwork'){
online=true;
}else{
online=false;
}
И мой угловой контроллер, как показано ниже.
.controller('MainCtrl',['$scope','$http','$localStorage','$state',function($scope, $http, $localStorage, $state){
if(online==true){
//code for online
}else{
// code for offline
}
}])
я назвал проверки в «deviceready» событий, статус получения .Но моей проблемы - deviceready
вызываются после того, как мой контроллер started.is возможности проверить состояние сети перед угловым контроллером приступил к исполнению?
В вашем примере я не вижу, где вызывается 'deviceready'. Может быть, некоторые элементы отсутствуют. Где вы называете первый блок проверки кода? – sebastienbarbier