我正在开发ionic1中的ios应用程序。 网络连接和断开连接我正在使用cordova插件,即 cordova-plugin-network-information 1.3.0“网络信息”。
我的 cordova版本6.4.0
当我启动应用程序并使用凭据登录时,我正在解除当时OnOffLine event
被解除的连接,但是一段时间后我打开了wifi,时间OnOnLine Event
不会被激活
这是我的代码。
$scope.onLoad = function () {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
document.addEventListener("offline", onOffline, false);
document.addEventListener("online", onOnline, false);
}
function onOffline() {
var alertPopup = $ionicPopup.alert({
title: 'Connection Failed!',
template: 'Please check your network is running!'
});
console.log('onOFFLINE');
}
// Handle the online event
function onOnline() {
console.log('onONLINE');// here is problem.
}
当我断开wifi onOffline事件触发时,onOffline工作正常。但是当wifi重新连接时onOnline事件没有被解雇。
答案 0 :(得分:3)
尝试使用ngCordova。要以离子形式安装,请参阅此link
ngCordova为你提供了一个实现承诺的插件的角度包装器。
以下是网络插件here上的ngCordova页面的示例。
module.controller('MyCtrl', function($rootScope, $cordovaNetwork) {
document.addEventListener("deviceready", function () {
var type = $cordovaNetwork.getNetwork()
var isOnline = $cordovaNetwork.isOnline()
var isOffline = $cordovaNetwork.isOffline()
// listen for Online event
$rootScope.$on('$cordovaNetwork:online', function(event, networkState){
var onlineState = networkState;
})
// listen for Offline event
$rootScope.$on('$cordovaNetwork:offline', function(event, networkState){
var offlineState = networkState;
})
}, false);
});