无法使用PhoneGap 2.2.0检索连接状态

时间:2012-11-28 13:32:45

标签: javascript ios cordova

我遇到了2.1.0的问题,所以我升级到2.2.0以确保它没有发现错误,但是它仍然没有用。

我有以下代码:

checkConnection: function() {

        alert(1);
        alert(navigator.connection.type);
        alert(2);

        var networkState = navigator.connection.type;

        if(networkState == 'Connection.UNKNOWN' || networkState == 'Connection.NONE') {
            return false;   
        } else {
            return true;    
        }
    }

第一个警报触发并产生1,然后它就会消失。我也尝试过navigator.network.connection.type,它是一个旧的引用,也不起作用。我现在不知道为什么它不工作,其他PhoneGap功能工作得很好(例如GeoLocation)。

作为参考,我在运行iOS 6.0.1的iPhone 5上。

提前致谢!

1 个答案:

答案 0 :(得分:3)

检查是否在deviceready事件之后执行了对checkConnection的调用。

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
   console.log('Application online: ' + checkConnection());
}

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

    if (networkState == Connection.UNKNOWN || networkState == Connection.NONE) {
        return false;   
    } else {
        return true;    
    }
}

此外,您不应与字符串'Connection.UNKNOWN'进行比较,而应与常量Connection.UNKNOWN进行比较。没有单引号。