JQuery Mobile обнаружен, если есть подключение к Интернету - PullRequest
10 голосов
/ 12 апреля 2011

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

Ответы [ 5 ]

22 голосов
/ 12 апреля 2011

Для этого нет необходимого кода - это часть HTML5 API.Проверьте значение window.navigator.onLine - это будет false, если пользователь не в сети.

http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#browser-state

4 голосов
/ 12 апреля 2011

Можно указать , изменив настройки 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");
    }
});
2 голосов
/ 24 февраля 2014

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

online = window.navigator.onLine;
if (navigator.onLine) {
  alert('you are online');
} else {
  alert('you are offline');
}
1 голос
/ 14 марта 2016

, если вы хотите каждые 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
        });
0 голосов
/ 02 июля 2012

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

...