我遇到了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上。
提前致谢!
答案 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
进行比较。没有单引号。