我正在开发 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 中可用的完整示例

10-07 19:46
查看更多