Wie man das Gerät überprüft, ist online oder offline PhoneGap

8

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%     
Erdem Güngör 24.07.2013, 12:05
quelle

5 Antworten

9

Sie können navigator.onLine :

verwenden %Vor%

Beachten Sie jedoch, dass wenn navigator.onLine nicht unterstützt wird isOffline immer falsch ist

    
andlrc 24.07.2013, 12:08
quelle
10

Dies ist der Code, der den nativen Phonegap-Code verwendet:

%Vor%     
Someoneinthe 25.07.2013 13:52
quelle
2

Mit Jquery einen Ajax-Aufruf durchführen und den Fehlercode prüfen. Wenn der Fehlercode 0 ist, ist das Gerät offline

%Vor%     
Divesh Salian 24.07.2013 12:17
quelle
1

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

verwenden

Sie 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.

    
Rayjax 25.08.2015 15:25
quelle
0

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.

    
Patrik Wallin 24.07.2013 12:26
quelle

Tags und Links