检测互联网是否在科尔多瓦离子框架中工作



当互联网在科尔多瓦离子应用程序中不起作用时,我想显示消息,任何人都可以在离子科尔多瓦应用程序中执行此操作。

有一个网络信息插件可以从设备获取网络信息。添加

cordova plugin add org.apache.cordova.network-information

包括它并应用到应用中.js并从onDeviceReady事件处理程序中注册脱机事件处理程序,

onDeviceReady: function() {
    document.addEventListener("offline", onOffline, false);
},
onOffline: function () {
  //handle offline 
}

其实很简单。添加插件:

cordova plugin add org.apache.cordova.network-information

您无需在索引中包含任何内容.html。只需在您正在使用的控制器上添加$cordovaNetwork即可。而且,以下代码片段将与之配合得很好。

document.addEventListener("deviceready", function () {
 // Check for network connection
    if(window.Connection) {
    //you can log your connection as well, whether it is internet, wifi and so on.In this case you are checking for no connection
alert(navigator.connection.type);
      if(navigator.connection.type == Connection.NONE) {
        $ionicPopup.confirm({
          title: 'Network Problem',
          content: 'Sorry, Please Check Your Network Connection.'
        })
//or you can simply navigate it to a page with the no internet connection html.
      }
    }
})

这是方法之一。下一种方法是在要使用的控制器中包含以下代码片段。不要忘记添加$cordovaNetwork,在这种情况下$ionicPlatform。

var type = $cordovaNetwork.getNetwork();
   var isOnline = $cordovaNetwork.isOnline();
    var isOffline = $cordovaNetwork.isOffline();
 $rootScope.$on('$cordovaNetwork:online', function(event, networkState){
      var onlineState = networkState;
      alert(onlineState);
    })
 $rootScope.$on('$cordovaNetwork:offline', function(event, networkState){
      var offlineState = networkState;
       alert(offlineState);
    })
 document.addEventListener("deviceready", function () {
  $rootScope.$on('$cordovaNetwork:online',function(event,networkState){
    $location.path('/japp/login');
  })
 $rootScope.$on('$cordovaNetwork:offline',function(event,networkState){
     $ionicPopup.confirm({
                        title: "Internet Disconnected",
                        content: "The internet is disconnected on your device."
                    }).then(function(){
                                    ionic.Platform.exitApp();
                    })
  })

如果您仍然遇到问题,请随时询问任何小细节。

以下是Ionic论坛上的一些讨论: http://forum.ionicframework.com/t/how-to-check-network-coneection/15806/14

你可以找到很多这样的。我建议使用 ngCordova 并做这样的事情:

$rootScope.$on('$cordovaNetwork:online', function() {});
$rootScope.$on('$cordovaNetwork:offline', function() {});

安装插件(cordova 插件添加 org.apache.cordova.network-information)后,您可以在 app 内使用以下代码.js显示警报消息

if(window.Connection) {
  console.log("checking connection");
    if(navigator.connection.type == Connection.NONE) {
      $ionicPopup.alert({
        title: "No Internet Connection",
        content: "Internet Connection is not available. In offline you can see previously fetched data.",
        okType:"balanced",
      })
      .then(function(result) {
          if(!result) {
            console.log('ok clicked');
          }
      });
    }
}
嗨,

这里还有另一个问题。网络信息仅告诉您是否存在连接。但这并不意味着您可以连接到网站和/或正在运行的数据库。在大多数情况下,应用程序依赖于网站和/或数据库可用。所以你也必须检查这些。

最新更新