JQuery Mobile обнаружен, если есть подключение к Интернету

Каков наилучший способ определить, есть ли интернет-соединение или нет на моем мобильном устройстве через мое веб-приложение?

Ответ 2

Опция может быть изменить настройки Ajax для добавления определенного timeout, а затем добавить обработчик error, который ищет textStatus (второй аргумент) 'timeout'.

Когда происходит тайм-аут, либо интернет-соединение является пятнистым, либо ваш сайт не работает.


Используя ajaxSetup для установки параметров по умолчанию для всех запросов:

$.ajaxSetup({
    timeout: 1, // Microseconds, for the laughs.  Guaranteed timeout.
    error: function(request, status, maybe_an_exception_object) {
        if(status != 'timeout')
            alert("YOU BROKE IT");
        else
            alert("OH NOES TEH INTARWEBS ARE DOWN!!!!!1one");
    }
});

Ответ 3

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

online = window.navigator.onLine;
if (navigator.onLine) {
  alert('you are online');
} else {
  alert('you are offline');
}

Ответ 4

если вы хотите проверить каждые X секунд соединения.

        $(document).ready(function() {
            setInterval(function(){
                var isOnline = navigator.onLine;
                if (isOnline) {
                    console.log("Connected");
                }
                else {
                    console.log("Not Connected");
                }
            }, 30000); // 10000 = 10 seconds, check for connection every 30 seconds
        });

Ответ 5

Если вы хотите что-то с большей совместимостью, надежностью и настраиваемостью, чем window.navigator.onLine, попробуйте мой плагин jQuery: http://tomriley.net/blog/archives/111