navigator.onLine无法在我的手机上工作。如何检查互联网是否在线。离线???在Phonegap中

时间:2014-03-17 07:08:57

标签: cordova navigator

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

当应用程序在线运行存储到数据库中的所有数据时。 并且当互联网不存在从DB获取的时间数据时,我的问题只是该应用程序每次使用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 在此,它每次都显示 wifi 。我不明白为什么会这样。

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

1 个答案:

答案 0 :(得分:5)

请关注phonegap documentation

您还可以更改给定的函数以返回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;
    }
}