Я хочу знать, когда интернет-соединение потеряно и восстановлено, так что я могу переключаться между предупреждением, в котором говорится: "Крики, Интернет" и карта Google или сетка, содержащие данные, полученные на моем сервере.
Этот связанный вопрос и этот другой связанный вопрос считают, что у них есть ответ, но они не,
Их решение работает с Chrome Version 34.0.1847.137 m, MS IE v11.0.x.x, но НЕ с FireFox v29.0.1, поэтому я ищу решение, которое работает со всеми этими тремя браузерами.
[Обновление] AS @Quad указывает, что существуют различные способы определения того, что значит быть онлайн. Я определяю его как "могу ли я получить данные, которые мне нужно показать моему пользователю или нет?".
У меня есть несколько служб, которые отвечают за выборку данных с нескольких серверов (что лучше всего: единая, параметризованная, служба? Одна услуга на один сервер или одна услуга на каждый тип данных на сервер? каждая служба может затем сопоставить контроллер, который сопоставляется с представлением. Но я новичок в Angular, поэтому может быть и неправильным).
Кроме того, я закодировал службу, которая отвечает за попытку повторного подключения, когда соединение потеряно.
Любой, кто пытается выполнить $http.get
и получает 404, может вызвать службу, которая будет 1) транслировать, что не было Интернета (так, чтобы никто другой не пытался подключиться)
2) регулярно пытайтесь подключиться к моему серверу и
3) при успешном завершении попыток подключения и трансляции, приложение снова подключено к сети.
Однако это казалось очень klunky, и решение, предлагаемое в двух связанных вопросах, казалось элегантным - за исключением FF:-(
Я не могу изобретать колесо здесь. Как это делают другие? На самом деле, я удивлен тем, что еще нет официального "Angular решения