2010-10-23 3 views
0

Я создаю автозапуск HTML. Нет никаких ограничений на использование javascript, поскольку он будет запущен из XULRunner. Я хочу, чтобы определить, существует ли интернет-соединение или нет. Это не работает для меняОбнаружение подключения к Интернету, как в Gmail Javascript

$(document).ready(function() { 
    var online = navigator.onLine; 

// a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore! 
function doit() { 
if (navigator.onLine(connected)){  
alert("YES!"); 
} else {  
alert("NO!"); 
} 
} 

Есть ли лучший способ?

Обновление: Пришло время знать, что указанный выше код обнаруживает только состояние браузера, а не если интернет доступен. Для меня контактная форма в автозапуске должна проверить, подключен ли интернет и предупредить пользователя.

+0

Возможный дубликат [JavaScript: как обнаружить, что подключение к Интернету отсутствует?] (Http://stackoverflow.com/questions/189430/javascript-how-to-detect-that-the-internet-connection-is -offline) – Marko

+0

, но он не отвечает на мой вопрос. :( – esafwan

+0

это просто, если (navigator.onLine) и ссылка на дубликат, кажется, содержит все ответы, которые вы собираетесь получить. – mplungjan

ответ

1

Используйте XMLHttpRequest в javascript, чтобы запросить небольшой файл с вашего сервера. Если запрос возвращает ошибку или время ожидания, то сайт, вероятно, недоступен. Если у вас нет определенного веб-сервера для тестирования, вы можете использовать что-то с высокой степенью надежности, например, с сервером Google.

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

+0

как вы используете сервер gmail для этого ... так как ajax будет поддерживать только в вашей собственной политике jQuery домена В документации JQuery есть раздел по обработке неудачных запросов AJAX. Политика одинакового происхождения при этом может остановить вас от доступа к сайтам вне вашего домена. – Hitesh

Смежные вопросы