Was ist der einfachste Weg zu überprüfen, ob das Gerät (Smartphone) online oder offline ist? Ich arbeite mit phonegap, jquery mobile. Ich habe das gefunden.
%Vor%Ich möchte die Internetverbindung überprüfen und die Daten aus dem Internet oder aus der lokalen Datenbank des Geräts abrufen.
%Vor% Sie können navigator.onLine
:
Beachten Sie jedoch, dass wenn navigator.onLine
nicht unterstützt wird isOffline
immer falsch ist
Dies ist der Code, der den nativen Phonegap-Code verwendet:
%Vor%Mit Jquery einen Ajax-Aufruf durchführen und den Fehlercode prüfen. Wenn der Fehlercode 0 ist, ist das Gerät offline
%Vor%Vorsicht, während navigator.onLine die einfachste Lösung ist, verhält es sich nicht in allen Browsern konsistent . Auf Chrome wird es Ihnen sagen, dass es online ist, wenn Sie ein LAN-Kabel haben, auch wenn Sie kein Internet haben.
Sie können das Cordova-Plugin Netzwerkinformationen
verwendenSie können auch versuchen, eine AJAX-Anfrage an Ihren Server zu richten. Normalerweise möchten Sie wissen, ob Sie offline sind, weil Sie in diesem Fall nicht mit dem Server kommunizieren können. Daher bedeutet "offline" oft "nicht in der Lage mit dem Server zu kommunizieren" (was auch von Ihrem Server verursacht werden kann) Server ist offline). Das Spielen mit Zeitüberschreitungen oder mehreren Anfragen ist auch nützlich, wenn Sie die Bandbreite oder die Verbindungsqualität überprüfen müssen.
Offline bedeutet nicht für jeden Anwendungsfall dasselbe, Sie müssen zuerst wissen, welche der oben genannten Techniken für Sie am besten geeignet ist, und dann eine oder mehrere von ihnen implementieren.
Was ich tun möchte, ist, die Internetverbindung zu überprüfen und zu entscheiden, die Daten aus dem Internet oder von der lokalen Datenbank des Geräts zu erhalten.
Es scheint, dass die Überprüfung der Verbindung mit Ihrem Server durch eine Anfrage die beste Option für Sie ist.
Das native onLine ist etwas wackelig, besonders in einer Web-App-Umgebung .. kann aber für eine erste Überprüfung von pageLoad verwendet werden, es ist jedoch etwas nutzlos, als ob Sie zu diesem Punkt eine Internetverbindung haben.
Der Versuch, etwas zu verbessern, ist weitaus zuverlässiger.
Tags und Links javascript cordova jquery offline