Navigator: onLine-Eigenschaft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die onLine
-Eigenschaft des Navigator
-Interfaces gibt an, ob das Gerät mit dem Netzwerk verbunden ist, wobei true
online und false
offline bedeutet. Der Wert der Eigenschaft ändert sich, nachdem der Browser seine Netzwerkverbindung überprüft hat, normalerweise wenn der Benutzer Links folgt oder ein Skript eine remote Seite anfordert. Zum Beispiel sollte die Eigenschaft false
zurückgeben, wenn Benutzer Links anklicken, kurz nachdem sie ihre Internetverbindung verloren haben. Wenn sich ihr Wert ändert, wird ein online
- oder offline
-Ereignis im window
ausgelöst.
Browser und Betriebssysteme verwenden unterschiedliche Heuristiken, um zu bestimmen, ob das Gerät online ist. Allgemein wird eine Verbindung zum LAN als online betrachtet, auch wenn das LAN keinen Internetzugang hat. Zum Beispiel könnte der Computer eine Virtualisierungssoftware ausführen, die virtuelle Ethernet-Adapter hat, die immer "verbunden" sind. Unter Windows wird der Online-Status dadurch bestimmt, ob das System einen Microsoft-Heimserver erreichen kann, was durch Firewalls oder VPNs blockiert sein könnte, selbst wenn der Computer Internetzugang hat. Deshalb ist diese Eigenschaft von Natur aus unzuverlässig, und Sie sollten keine Funktionen deaktivieren, basierend auf dem Online-Status, sondern nur Hinweise geben, wenn der Benutzer scheinbar offline ist.
Wert
Ein boolean.
Beispiele
Grundlegende Nutzung
Um zu überprüfen, ob Sie online sind, rufen Sie window.navigator.onLine
ab, wie im folgenden Beispiel:
if (navigator.onLine) {
console.log("online");
} else {
console.log("offline");
}
Wenn der Browser navigator.onLine
nicht unterstützt, gibt das obige Beispiel immer false
/undefined
zurück.
Änderungen des Netzwerkstatus überwachen
Um Änderungen des Netzwerkstatus zu sehen, verwenden Sie addEventListener
, um auf die Ereignisse window.online
und window.offline
zu hören, wie im folgenden Beispiel:
window.addEventListener("offline", (e) => {
console.log("offline");
});
window.addEventListener("online", (e) => {
console.log("online");
});
Spezifikationen
Specification |
---|
HTML # dom-navigator-online-dev |
Browser-Kompatibilität
BCD tables only load in the browser