如何在IONIC上正确管理网络信号?

时间:2017-08-29 07:43:11

标签: cordova typescript networking ionic-framework

我正在开发一个关于Ionic的网络,实现一些标签和网页浏览。

我正在使用Cordova Network插件

我在主标签页中创建了一个具有侦听器的函数(如果没有连接):

  ionViewDidEnter()
{
let disconnectSubscription = this.network.onDisconnect().subscribe(() => {
  let vm = this;
  if(!vm.alertPresented) {
    vm.alertPresented = true;
    vm.alert.create({
      title: "Warning",
      subTitle: "Check your connection.",
      buttons: [{
        text: 'OK',
        handler: () => {
          vm.alertPresented = false;
          this.navCtrl.push(OfflinePage);
        }
      }],
    }).present();
  }
});
}

这种方法很好,但我不知道如何控制连接速度很慢,或者质量很差......我知道这可以用这种方式看待:

downlinkMax
Downlink Max Speed

Returns: string

但我不知道在哪里放置它,或者与哪个元素相关联,或者哪个是信号质量好坏的阈值。

我想避免由于连接错误导致的iframe崩溃

有人可以帮帮我吗?谢谢

2 个答案:

答案 0 :(得分:1)

一种选择是使用插件的\\0.0.0.0\myfolder Observable,然后检查当前可用的app.set('views', path.join(__dirname, '/views')); app.engine('php', phpExpress.engine); app.set('view engine', 'php'); 连接:

onChange()

但请记住,虽然用户目前有type连接,但总会发生某种网络问题。这就是为什么你也应该考虑你的请求的超时错误。 Angular使这个任务非常简单:

this.network.onChange().subscribe(() => {
  switch (this.network.type) {
    case '2g':
      console.log('probably not very fast ...');
      break;
    case 'wifi':
      console.log('wohoo wifi ...');
      break;
  }
});

答案 1 :(得分:0)

另外我可以这样做:

获取变量networkAvailable = false;。

稍后在我的JavaScript中,使用cordova-plugin-network-information检测网络状态,并将networkAvailable variabel设置为true。 这样用户就不会看到破碎的内容。