2012-11-28 1 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

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과 비교해서는 안됩니다. 작은 따옴표없이.

+0

감사합니다. 실제 문제는 navigator.connection.type에서 데이터를 검색하는 것이므로 문제가 해결되지 않았습니다. 두 번째 경고를 호출 할 때 값을 반환하지 않으므로 아무 것도 발생하지 않습니다. – Ashley

+0

@Ashley 당신은 checkConnection에 대한 호출이 deviceready 이벤트 후에 발생 했습니까? http://docs.phonegap.com/en/2.2.0/cordova_events_events.md.html#deviceready –

+0

이제 바보가되어 기능이 너무 일찍 부름을 받았습니다. 그걸 고르려고 건배하고, 지금 대접! – Ashley

관련 문제