1

我遇到了 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。

提前致谢!

4

1 回答 1

3

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

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。没有单引号。

于 2012-11-28T13:40:00.673 回答