angular - ionic 3 : How do I know if I have access to the Internet on a network (wifi or mobile)

标签 angular typescript ionic-framework ionic3

我想知道如何知道我是否可以在网络上访问互联网,因为我可以在没有互联网访问的情况下连接到 wifi 网络,但我怎么知道?

我使用 ionic-native/network 但这还不够!

this.platform.ready().then(() => {
  this.network.onConnect().subscribe((data) => {
    console.log(data);
  });

  this.network.onDisconnect().subscribe((data) =>  {
    console.log(data);
  });

  this.network.onchange().subscribe(data => {
    console.log(data);
  })

因为如您所见,它只检测我是否连接到网络,但不知道网络是否可以访问互联网。

我希望你能帮助我:)

最佳答案

测试方法是向服务器发出 HTTP 请求,如果它以 2XX 响应,那么您的设备已连接。您可以“轮询”(保持定期发送请求)以查看连接何时断开,但我建议您对自己的服务器执行此操作,以免激怒另一家公司:)

我以前用过这个插件,你的评估是正确的,它在检查互联网连接方面相当无用,但这种方法(发送常规 HTTP 请求)很常见。

关于angular - ionic 3 : How do I know if I have access to the Internet on a network (wifi or mobile),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52498575/

相关文章:

android - ionic 和 cordova - css active 在 Android 设备上不起作用

javascript - 注销后出现缺少或权限不足的错误

css - 使用 Angular 8 + Tailwind.css + LESS 进行缓慢的 Webpack 编译

javascript - Angular 2 - 无法读取未定义的属性 '...'

typescript - 具有抽象语法的 Visual Studio 代码

reactjs - 当父组件在其子组件中注入(inject) props 时,如何在 Typescript 中定义 props?

android - 如何在不包含 Ionic.js 的情况下使用 Ionic Framework 创建应用程序

angular - 在同一可观察对象上多次使用 `async` 管道

javascript - Angular 4 - Firebase - 检查用户是否已连接

typescript - NestJS 随处访问 Reponse