如何使用jquery以编程方式检查Internet连接的可用性

Mer*_*rcy 4 ajax jquery android cordova

我正在开发android phonegap应用程序.当我运行没有互联网连接的应用程序时,它是强制关闭的.所以,我需要检查dom中的互联网连接,然后使用jquery/javascript调用ajax

这是我的示例代码:

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');
 }
Run Code Online (Sandbox Code Playgroud)

但即使没有互联网连接,我总是得到警报('在线').请引导我.谢谢你提前

bal*_*dre 8

正如您在标签中指定的那样,如果没有PhoneGap API,您将无法访问硬件规格,并且只需检查可用连接即可实现连接

connection对象可以访问设备的蜂窝和wifi连接信息.

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();
Run Code Online (Sandbox Code Playgroud)

PhoneGap Docs中提供的完整示例