Uważaj, podczas navigator.onLine to najprostsze rozwiązanie, nie zachowywać się konsekwentnie na wszystkich przeglądarkach. W Chrome pokaże Ci, że jest podłączony do Internetu, jeśli masz kabel LAN, nawet jeśli nie masz internetu.
Można użyć wtyczki Cordova network-information
Można również starać się żądania AJAX do serwera; zwykle chcesz wiedzieć, czy jesteś offline, ponieważ w tym przypadku nie można komunikować się z serwerem, więc "offline" często oznacza "nie można komunikować się z serwerem" (co może być również spowodowane tym, że serwer jest w trybie offline). Odtwarzanie z limitami czasu lub kilkoma żądaniami jest również przydatne, jeśli musisz sprawdzić przepustowość lub jakość łącza.
Offline nie oznacza to samo dla każdego przypadku użycia, najpierw musisz wiedzieć, która z powyższych metod jest dla Ciebie najbardziej odpowiednia, a następnie wdrożyć jedną lub kilka z nich.
Co chcę zrobić, to sprawdzić połączenie z Internetem i zdecydować o otrzymaniu danych z Internetu lub z lokalnej bazy danych urządzenia.
Wygląda na to, że sprawdzanie połączenia z serwerem za pomocą żądania jest najlepszą opcją.
Okej, testuję to normalnie w przeglądarce Chrome i uzyskuję tylko fałsz. Ale tworzę aplikację za pomocą phonegapa i testuję ją na moim smartfonie i działa. Dzięki NULL. U bardzo mi pomogło :) –
navigator.onLine nie działa niezawodnie, przynajmniej nie w mojej aplikacji PhoneGapp (Nexus 4 z Androidem 5); navigator.onLine jest jednak obsługiwanym atrybutem. Znalazłem również to powiązane pytanie: http://stackoverflow.com/questions/14283124/navigator-online-not-always-working. –