Cordova navigator.onLine在我的手机中不工作。如何检查internet是否联机。脱机???在Phonegap中

Cordova navigator.onLine在我的手机中不工作。如何检查internet是否联机。脱机???在Phonegap中,cordova,navigator,Cordova,Navigator,我正在为我的应用程序使用phonegap。我的应用程序是一个网站的RSS_提要的Basicali。 但我的要求是,当互联网不存在时,应用程序应该发出警报-离线 if(navigator.onLine) { alert("check online"); loadScript("http://www.google.com/jsapi",msgOnFn) loadScript("js/googleapi.js", msgOnFn); } else { loadScrip

我正在为我的应用程序使用phonegap。我的应用程序是一个网站的RSS_提要的Basicali。 但我的要求是,当互联网不存在时,应用程序应该发出
警报
-
离线

if(navigator.onLine) {
    alert("check online");
    loadScript("http://www.google.com/jsapi",msgOnFn)
    loadScript("js/googleapi.js", msgOnFn);
} else {
    loadScript("js/db.js",msgOffFn);
}
当应用程序联机运行时,所有数据都存储到数据库中。 当互联网不存在时,时间数据会从数据库中获取,所以我的问题是每次使用
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);
}
我试过了 在这里,每次都显示nonewifi。我不明白为什么会这样

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

请遵循以下步骤

您还可以将给定函数更改为返回true或false:

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;
    }
}

由于它显示
无法读取未定义的属性“connection”
我使用的是cordovo 2.0.0.js在Cordova 2.3.0之前,连接对象存在于:navigator.network.connection。因此,您必须更改以下行:
var networkState=navigator.connection.type
to
var networkState=navigator.network.connection.type未知
未定义
的code>检查版本2.0.0的phonegap示例:我遇到了同样的问题,无法在ionic中再现此问题。你有机会解决这个问题吗?我正在使用最新的cordova 3.5.1看看这个,这个对我来说很有用
链接