Diese Eigenschaft gibt einen Wahrheitswert (Bool-Wert) zurück, der Auskunft gibt, ob der Browser eine Internetverbindung aufbauen konnte. Dieser Wert wird immer dann aktualisiert, wenn eine neue Verbindung vom Browser angefordert wurde (durch Script- oder Benutzeraktionen). Es wird "false" zurückgegeben, wenn der letzte Versuch, eine Verbindung aufzubauen, fehlgeschlagen ist.
Einige Browser implementieren diese Funktion verschieden.
Für Chrome und Safari gilt, dass wenn keine Verbindung zum LAN oder Router aufgebaut wurde, der Browser "offline" ist. Andernfalls ist der Browser "online". Das bedeutet, dass aus dem Online-Status nicht die tatsächliche Verbindung erkennbar ist. Wenn der Rückgabewert "false" ist, dann ist mit Sicherheit keine Verbindung vorhanden. Wenn der Wert aber "true" ist, muss dies keine tatsächliche Verbindung zum Internet bedeuten. Auch kann die Ausführung innerhalb einer Virtuellen Maschine den Wert verfälschen. Für weitere Informationen kann dieser HTML5-Rocks Artikel hilfreich sein (in Englisch): Working Off the Grid with HTML5 Offline
Firefox und der Internet Explorer können diesen Wert auch durch die Funktion des "Offline-Modus" verändern. Dann wird auch "false" zurückgegeben, unabhängig vom tatsächlichen Status.
Bis Firefox 41 wurde in allen anderen Fällen "true" zurückgegeben. Seit Version 41 kann der tatsächliche Verbindungsstatus erkannt werden, wenn Firefox auf OS X oder Windows installiert ist.
Es sind auch folgende Ereignisse verfügbar, mit denen unmittelbar auf Änderungen des "OnLine"-Wertes reagiert werden kann.
Syntax
online = window.navigator.onLine;
Value
Der Rückgabewert ist vom Typ "boolean", kann also true oder false sein.
Beispiel
Hier das Live-Beispiel
Um zu bestimmen, ob der Browser mit dem Internet verbunden ist, müssen Sie den Wert von window.navigator.onLine
wie folgt verwenden:
if (navigator.onLine) { console.log('Verbunden'); } else { console.log('Getrennt'); }
Wenn der Browser onLine
nicht kennt, wird false oder undefiniert zurückgegeben.
Um auf dir Veränderung des Status direkt reagieren zu können, verwenden Sie addEventListener
für die Ereignisse window.ononline
und window.onoffline;
wie in diesem Beispiel:
window.addEventListener("offline", function(e) { console.log("Nicht Verbunden"); }); window.addEventListener("online", function(e) { console.log("Verbunden"); });
Spezifikationen
Specification | Status | Comment |
---|---|---|
WHATWG HTML Living Standard Die Definition von 'navigator.onLine' in dieser Spezifikation. |
Lebender Standard | Initial definition |
Browserkompatibilität
Funktion | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Einfache Umsetzung | (Ja)[1] | 3.5 (1.9.1)[2] 4.0 (2.0)[4] |
8[3] | Nicht unterstützt[2] | 5.0.4 |
on WorkerNavigator |
? | 29 (29) | ? | ? | ? |
Funktion | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | BlackBerry |
---|---|---|---|---|---|---|
Einfache Umsetzung | 2.2[5] | 1.0 (1.9.1)[2] | ? | ? | ? |
7 |
on WorkerNavigator |
? | 29.0 (29) | ? | ? | ? | ? |
[1] Vorherige Versionen von Chrome geben true unmittelbar nach den öffnen des Tabs zurück. Erst nach der nächsten Netzwerkaktivität wird der richtige Wert zurückgegeben. Windows: 11, Mac: 14, Chrome OS: 13, Linux: Liefert immer true zurück. Siehe auch crbug.com/7469.
[2] Seit Firefox 4 und Opera 11.10 wird false unabhängig von der tatsächlichen Verbindung zurückgegeben, wenn der "offline"-Modus des Browsers aktiviert wurde.
[3] Im Internet Explorer 8 werden die "online"- and "offline"-Ereignisse duch document.body ausgelöst; seit dem IE 9 werden diese auch von window
ausgelöst.
[4] Seit Firefox 41, auf OS X und Windows, wird der tatsächliche Verbindungstatus zurückgegeben, solange der "offline"-Modus nicht aktivert wurde.
[5] Fehler in der WebView-Komponenten, siehe auch: bug 16760.
Hinweise
Für weitere Informationen, siehe auch die Online/Offline-Ereignisse