Chrome Dev Tools Netzwerk Throttling offline immer noch zeigt navigatior.onLine
wie wahr.
Ich möchte die Offline-Erfahrung für eine Webapp testen. Ich überprüfe, ob das Gerät online oder offline ist, und rufe dann verschiedene Funktionen auf (keine Ajax-Aufrufe d. H.).
Wie kann ich ein Offline-Verhalten mit Chrome archivieren, ohne meinen Computer zu trennen? Ich brauche noch die Verbindung für andere Dienste.
Antworten:
1 für die Antwort № 1Einfach einstellen navigator.onLine = false
funktioniert nicht, aber Sie können die "onLine" -Eigenschaft vollständig überschreiben:
Object.defineProperty(navigator, "onLine", {value: false})
Wenn Sie es später wiederherstellen möchten, behalten Sie einen Verweis auf den alten Eigenschaftsdeskriptor bei:
var oldOnLineDescriptor = Object.getOwnPropertyDescriptor(
navigator.constructor.prototype, "onLine")
// ...
Object.defineProperty(navigator, "onLine", oldOnLineDescriptor)
0 für die Antwort № 2
Versuche dies.
window.addEventListener("online", onOnline);
window.addEventListener("offline", onOffline);
function onOnline() {
window.isOnline = true;
// do what you want
}
function onOffline() {
window.isOnline=false
// do what you want
}