我正在开发 android phonegap 应用程序。当我在没有互联网连接的情况下运行该应用程序时,它被强制关闭。所以,在使用 jquery/javascript 调用 ajax 之前,我需要检查 dom 中的互联网连接
这是我的示例代码:
var a=navigator.onLine;
if(a){
alert('online');
$.ajax({
type: "GET",
url: url,
dataType: 'json',
async: true,
cache: false,
success: function(data){
alert('success');
},
error: function(e){
alert('error');
}
});
}else{
alert('ofline');
}
但是我总是收到警报('在线'),即使没有互联网连接。请指导我。提前致谢
最佳答案
正如您在标签中指定的那样,您无法在没有 PhoneGap API 的情况下访问硬件规范,并且要检查可用连接,您只需要实现连接
function checkConnection() {
var networkState = navigator.network.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.NONE] = 'No network connection';
alert('Connection type: ' + states[networkState]);
}
checkConnection();
PhoneGap Docs 中可用的完整示例