Плагин JQuery для обнаружения подключения к Интернету

В настоящее время я использую плагин Tom Riley JQuery для обнаружения подключения к Интернету в своем приложении, он отлично работает в Internet Explorer, но не отвечает при его внедрении в Google Chrome.

Кто-нибудь может предложить лучший плагин для обнаружения интернет-соединения, который отлично работает в Google Chrome (все браузеры).

Ответ 1

Для этого вам не нужен плагин, просто выполните:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
  if (! window.jQuery) {
    alert('No internet Connection !!');
  }
  else {
     // internet connected
  }
</script>

Причина, по которой выше работает, заключается в том, что jQuery lib считывается из Google CDN, для которого требуется подключение к Интернету, если страница не может его прочитать, это означает, что интернет-соединение не существует.

Update

Вы можете сделать что-то вроде:

function checkConnection() {
  var connected = true;
  var img = document.createElement('img');
  img.src = "path to remoate image on your server";
  img.onerror = function() { connected = false; }
  return connected;
}

Вы можете использовать его так в любое время:

if (checkConnection()) {
  // connected
}

Обновление 2

Вы можете периодически/автоматически проверять его так:

setInterval(function(){
  var isConnected = checkConnection(); // checkConnection() comes from above code
  if (isConnected) {
    alert('Connected');
  }
  else {
    alert('Not Connected');
  }
}, 10000); // 10000 = 10 seconds, check for connection every 10 seconds

Другие полезные ссылки:

Ответ 2

Плагин checkNet (http://tomriley.net/blog/archives/111) работает во всех браузерах, включая Chrome. Он не полагается на запрос google.com(поскольку Google заблокирован в странах происхождения, а соединение между континентами может быть ненадежным!)

Если сообщение об ошибке не отображается, это обычно происходит из-за того, что вы все еще находитесь на локальном сервере - он будет работать, когда он находится в Интернете.

Кроме того, было бы здорово увидеть, для чего вы его используете. Бросьте мне ссылку, если вам нравится делиться.