navigator.onLine Debakel
Ida Dieda
- browser
- javascript
Hallo, ok, ich komm leider selber nicht drauf... :(
Folgender Code ist eigentlich selbsterklärend... sobald der Browser keine LAN / Router Verbindung herstellen kann, soll "OFFLINE!" ausgegeben werden, in allen anderen Fällen "ONLINE!".
function statusChecken() {
if (navigator.onLine) {
document.body.innerHTML = "ONLINE!";
} else {
document.body.innerHTML = "OFFLINE!";
}
}
window.addEventListener('online', statusChecken);
window.addEventListener('offline', statusChecken);
if (navigator.onLine) ... funktioniert, in die Funktion mit einem EventListener verpackt allerdings nicht. ??? Ich bin mir sicher, dass ich hier was relativ offensichtliches übersehe, ich komm leider trotzdem einfach nicht weiter!
Danke für eure Ratschläge! LG, Ida
Hello,
woher kommt denn das Dokument, in dem das Javascript notiert ist?
Liebe Grüße
Tom S.
Hallo,
> window.addEventListener('online', statusChecken);
> window.addEventListener('offline', statusChecken);
ändert sich der Onlinestatus denn?
Gruß
Jürgen
Hallo Ida,
habe das gerade mal in Chrome und Firefox angeschaut.
In Chrome kann ich in den Entwickler-Tools per Checkbox "offline" simulieren und dein Script funktioniert damit perfekt.
Im Firefox gibt in Dateimenü den Punkt "offline arbeiten", damit hat dein Script auch funktioniert.
Netzwerkstecker ziehen hat in Chrome die Events geworfen, im Firefox merkwürdigerweise nicht.
Welchen Browser verwendest Du (in welcher Version), auf welchem Betriebssystem? Und wie erzeugst Du für deinen Test den "Offline-Status"?
Rolf
Hallo Ida Dieda,
das Scripting ist in Ordnung; es kommt darauf an, wann der Browser eine Statusänderung erkennt - also der Eventhandler anspringt - und damit die Funktion aufruft; vgl. hier die Hinweise zur Implementierung der Funktion bei MDN.
Grüße, Martl
@@Martl
Hinweise zur Implementierung der Funktion bei MDN.
Das liest sich so wie „nicht verwenden, Kinder!“
Wozu sollte man das eigentlich auch brauchen?
Mich würde eher interssieren, ob eine Ressource geladen werden konnte als ob eine Netzverbindung besteht.
LLAP 🖖
Hello,
Mich würde eher interssieren, ob eine Ressource geladen werden konnte als ob eine Netzverbindung besteht.
Ob eine Netzverbindung besteht, geht den Browser mMn ja eigentlich auch nichts an, solange er sie nicht selber nutzen will. Und das sollte er bei HTTP (und "close" ja nur solange, wie der Request unbeantwortet blieb oder bei "keep alive" bis kurze Zeit danach.
Deshalb fragte ich, woher denn das Dokument eigentlich kommt, in dem das JavaScript notiert wurde. Da müsste also mMn ein Ticker rein, der alle n Sekunden einen XHR absetzt, oder?
Liebe Grüße
Tom S.