【问题标题】:navigator.onLine is not working in my mobile.How to check internet is online.offline??? In Phonegapnavigator.onLine 在我的手机上不起作用。如何检查互联网是否在线。离线???在Phonegap中
【发布时间】:2014-04-22 07:37:02
【问题描述】:

我正在为我的应用程序使用 phonegap。我的应用程序基本上是来自一个网站的 RSS_FEED。 但我的要求是当没有互联网时应用程序应该alert-offline。

当应用程序在线运行时,所有数据都存储到数据库中。 当互联网不存在时,从数据库中获取数据,所以我的问题只是应用程序每次使用navigator.onLine时都会在线显示我。

if(navigator.onLine) {
    alert("check online");
    loadScript("http://www.google.com/jsapi",msgOnFn)
    loadScript("js/googleapi.js", msgOnFn);
} else {
    loadScript("js/db.js",msgOffFn);
}

我试过THIS ALSO 在此它每次都显示 none 或 wifi。我不明白为什么会这样。

在网络浏览器中,它工作正常。 :)

【问题讨论】:

标签: cordova navigator


【解决方案1】:

请关注phonegap documentation。

您还可以更改给定函数以返回真或假:

function checkConnection() {
    var networkState = navigator.connection.type;

    var states = {};
    states[Connection.UNKNOWN]  = false;
    states[Connection.ETHERNET] = true;
    states[Connection.WIFI]     = true;
    states[Connection.CELL_2G]  = true;
    states[Connection.CELL_3G]  = true;
    states[Connection.CELL_4G]  = true;
    states[Connection.CELL]     = true;
    states[Connection.NONE]     = false;
    if (states[networkState]) {
        return true;
    } else {
        return false;
    }
}

【讨论】:

  • 因为它显示Cannot read property 'connection' of undefined 我正在使用cordovo 2.0.0.js
  • 在 Cordova 2.3.0 之前,Connection 对象存在于:navigator.network.connection。 所以你必须将下面这行:var networkState = navigator.connection.type; 改为 var networkState = navigator.network.connection.type;
  • 返回 UNKNOWN 或 UNDEFINED
  • 查看 2.0.0 版本的 phonegap 示例:docs.phonegap.com/en/2.0.0/…
  • 我在 ionic 中遇到了同样的问题。你有没有偶然解决这个问题?我正在使用最新的科尔多瓦 3.5.1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 2013-08-12
  • 1970-01-01
  • 1970-01-01
  • 2016-01-16
相关资源
最近更新 更多