2013-03-22 9 views
3

У нас много клиентов в отдаленных районах, и частая потеря связи. Как я могу определить, отключено ли приложение javascript? Значение не может дойти до сервера и загрузить шаблоны.Как я могу обнаружить с помощью AngularJS, если приложение отключено?

+0

Смотрите также http://stackoverflow.com/questions/16242389/how-to-check-internet-connection-in-angularjs – Mawg

ответ

4

Я наконец нашел JSFiddle, который делает именно это: проверьте, включено ли веб-приложение. Он использует window.navigator.onLine.

JSFiddle: http://jsfiddle.net/rommsen/QY8w2/

Источник: https://groups.google.com/d/msg/angular/ZncvSVUc9y4/S4jH1e_XgGoJ

+6

Обратите внимание, что 'windows.navigator.onLine' имеет разные реализации в зависимости от браузера, а статус« истина »означает только подключение к локальной сети или маршрутизатору, а не к определенному ресурсу или более широкому Интернету. Вам может потребоваться специально протестировать подключение к вашему желаемому ресурсу и проверить, чтобы 404 правильно тестировал автономные условия. – joshschreuder

+1

Возможно, вы захотите проверить [Offline.js] (https://github.com/HubSpot/offline) библиотеку с открытым исходным кодом, созданную именно для этой цели. – Adam

+0

Я не D/L это, я только что открыл их симулятор. вместо того, чтобы использовать их флажок, чтобы притворяться, я действительно вытащил свой кабель Ethernet. В Chrome & MS IE я отправляю предупреждение «вы в автономном режиме». FF этого не показывал. См. Также http://stackoverflow.com/questions/16242389/how-to-check-internet-connection-in-angularjs, который указывает, что FF кажется нестандартным – Mawg

0
$scope.online = navigator.onLine; 

$window.addEventListener("offline", function() { 
    $scope.online = false; 
}); 

$window.addEventListener("offline", function() { 
    $scope.online = true; 
}); 
Смежные вопросы