как программно проверить доступность интернет-соединения с помощью jquery - PullRequest
4 голосов
/ 28 февраля 2012

Я разрабатываю приложение Android PhoneGap. Когда я запускаю приложение без подключения к интернету, оно принудительно закрывается. Поэтому мне нужно проверить подключение к Интернету в DOM, прежде чем вызывать ajax с помощью jquery / javascript

Вот мой пример кода:

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');
 }

Но я всегда получаю оповещение («онлайн»), даже когда нет подключения к Интернету. Пожалуйста, помогите мне. Спасибо заранее

Ответы [ 2 ]

8 голосов
/ 28 февраля 2012

Как вы указали в теге, вы не можете получить доступ к характеристикам оборудования без PhoneGap API , и для проверки Доступного соединения все, что вам нужно, это реализовать Соединение

.connection объект предоставляет доступ к информации о сотовой и Wi-Fi-связи устройства.

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

2 голосов
/ 28 февраля 2012

Возможно, вы могли бы использовать свойство состояния сетевого подключения устройства:

var a = (navigator.network.connection.type != Connection.NONE);

Также см. «Соединение» API

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...