2012-11-28 29 views
1

我遇到了2.1.0的问题,所以我升级到了2.2.0以确保它没有出现错误,但它仍然无法正常工作。无法通过PhoneGap 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上。

在此先感谢!

回答

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

+0

谢谢,我已经改变了,但是这并没有解决问题,因为实际问题首先是从navigator.connection.type中检索数据。当它调用第二个alert()时,它没有返回任何值,因为它不能检索该值。 – Ashley

+0

@Ashley你确定在deviceready事件之后调用了checkConnection吗? http://docs.phonegap.com/en/2.2.0/cordova_events_events.md.html#deviceready –

+0

现在我觉得很傻,这个功能被称为太早!欢呼挑剔,现在就开始一种享受! – Ashley