/ / podczas dławienia chrome na tryb offline navigator.onLine jest nadal prawdziwy - javascript, google-chrome-devtools, offline

podczas dławienia chrome na tryb offline navigator.onLine jest nadal prawdziwy - javascript, google-chrome-devtools, offline

narzędzia do dezinstalacji sieci Chrome w trybie offline navigatior.onLine tak jak prawdziwe.

Chcę przetestować działanie trybu offline dla aplikacji internetowej. Sprawdzam, czy urządzenie jest w trybie online lub offline, a następnie wywołuje różne funkcje (bez wywołań ajax, tj.).

Jak mogę archiwizować zachowanie offline w chrome, bez odłączania mojego komputera. Nadal potrzebuję połączenia dla innych usług.

Odpowiedzi:

1 dla odpowiedzi № 1

Po prostu ustawienie navigator.onLine = false nie działa, ale możesz całkowicie nadpisać właściwość "onLine":

Object.defineProperty(navigator, "onLine", {value: false})

Jeśli chcesz go później przywrócić, zachowaj odwołanie do starego deskryptora właściwości:

var oldOnLineDescriptor = Object.getOwnPropertyDescriptor(
navigator.constructor.prototype, "onLine")
// ...
Object.defineProperty(navigator, "onLine", oldOnLineDescriptor)

0 dla odpowiedzi nr 2

Spróbuj tego.

 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
}