在ios上启动离子应用程序时处理脱机状态

时间:2016-10-24 17:31:56

标签: ios angularjs cordova ionic-framework firebase

我在离子1上进行开发和应用并且在应用程序以脱机状态启动的情况下进行操作,我已经看过http://www.joshmorony.com/monitoring-online-and-offline-states-in-an-ionic-application/Ionic: Check Internet Connection using Cordova并且实际上已经使用此代码:< / p>

console.log("checking network", $cordovaNetwork);

      if(!navigator.onLine){
        $ionicPopup.confirm({
          title: "Internet disconnected!",
          content: "Please check your connection before moving on"
        })
        .then(function(result){
          if(!result){
            ionic.Platform.exitApp();
          }
        });
      }

这部分有效,问题是当我从零启动应用程序(杀死它并重新打开)时,由于无法加载js文件,我开始收到错误(无法加载资源:互联网连接... ),应用程序永远不会到达检查连接线,只能坐在可怕的白色屏幕上。

从日志中我可以看到唯一的实际角度误差与firebase有关(模块firebase不可用)我相信这会避免应用程序访问我的支票连接代码,但我不知道如果下载并保留firebase js的本地引用是正确的解决方案,并让代码向前移动firebase错误。

1 个答案:

答案 0 :(得分:0)

实际上问题分为两部分,首先,首先要记住,在开发模式时,当你运行离子应用程序时,它需要连接到你的开发机器,否则它将不会运行任何代码,所以如果你在这样的运行时尝试测试离线检查,你总是会以白色屏幕结束,基本上应用程序会从你的开发机器加载资源。

现在,如果没有网络连接,为用户显示错误的实际要求,此代码为我工作

console.log("checking network", $cordovaNetwork);

  if(!navigator.onLine){
    $ionicPopup.confirm({
      title: "Internet disconnected!",
      content: "Please check your connection before moving on"
    })
    .then(function(result){
      if(!result){
        ionic.Platform.exitApp();
      }
    });
  }

进行测试,因为@gerdi建议“你可以通过运行到具有离子运行android的设备来测试离线状态(在开发模式下)”