Wie um zu überprüfen, Gerät Online oder Offline ist Phonegap
Was ist der einfachste Weg, um zu überprüfen, ob das Gerät(smartphone) online oder offline ist.
Ich arbeite mit phonegap, jquery mobile.
Ich fand dieses.
document.addEventListener("online", yourCallbackFunction, false);
Was ich will zu tun ist, überprüfen Sie die Internet-Verbindung und eine Entscheidung zu treffen, um die Daten aus dem internet oder aus dem Gerät mit der lokalen Datenbank.
if(deviceoffline)
getDataFromLokalDatabase();
else
getDataFromInternet();
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
navigator.onLine
:Aber bewusst sein, dass, wenn
navigator.onLine
wird nicht unterstütztisOffline
wird immer falsch seinDies ist der code mit " native phonegap-code:
Connection.UNKNOWN
sowieMit Hilfe von Jquery eine ajax-call und prüfen Sie den Fehler-code, Wenn Sie die Fehlermeldung code als 0 das Gerät ist offline
Vorsicht, während der navigator.onLine ist die einfachste Lösung, es verhält sich nicht konsequent auf allen Browsern. Auf Chrome wird er Ihnen sagen, dass es online ist, wenn Sie ein LAN-Kabel, auch wenn Sie keinen Internetzugang haben.
Können Sie das cordova-plugin Netzwerk-Informationen
Können Sie auch versuchen, eine AJAX-Anfrage an den server; in der Regel wollen Sie wissen, wenn Sie offline sind, weil in diesem Fall Sie nicht mit dem server kommunizieren, also "offline" bedeutet oft "nicht in der Lage zu kommunizieren mit dem server" (was auch verursacht durch den server gerade offline). Spielen mit timeouts oder mehrere Anfragen ist auch nützlich, wenn Sie brauchen, um zu überprüfen, die Bandbreite oder die link-Qualität.
Offline bedeutet nicht das gleiche für jeden Fall verwenden, müssen Sie zunächst wissen, welche der oben genannten Techniken für Sie am besten geeignet ist, dann implementieren eine oder mehrere von Ihnen.
Scheint es, dass die überprüfung der Verbindung mit Ihrem server über eine Anforderung ist die beste option für Sie.
den native onLine ist etwas wackelig, besonders in einer web-app-Umgebung.. aber kann verwendet werden, für eine erste Prüfung bei pageLoad, jedoch ist es etwas sinnlos dann, wie wenn man an diesem Punkt haben Sie eine internet-Verbindung.
versucht, ajax-etwas ist sehr viel zuverlässiger.