Как выйти из офлайн. html после переподключения сети - PullRequest
0 голосов
/ 18 июня 2020

Я использую шаблон сервис-воркера, который возвращает офлайн. html в случае, если сеть отключается. Работает хорошо: программа загружает начальную страницу my_site. html. Во время работы программы сеть отключается, работник службы обнаруживает это и загружает страницу offline. html: Когда сервис-воркер возвращает страницу offline. html, Javascript использует window.location.href = response.url;, который перезагружает страницу и переводит адресную строку в offline. html.

Но тогда как пользователь восстанавливает исходную html страницу после повторного подключения к сети? Естественно, пользователь обновит / перезагрузит страницу. Но эта операция будет продолжать запрашивать последний адрес (офлайн. html) Но пользователь ожидает увидеть исходную страницу: my_site. html?

Спасибо, Авнер

Ответы [ 2 ]

1 голос
/ 18 июня 2020

Свойство navigator.onLine предоставляет логическое значение, если пользователь находится в сети.

if (navigator.onLine) { // true / false
    // redirect user
}
0 голосов
/ 19 июня 2020

Решение состоит в том, чтобы заменить содержимое страницы без использования window.location.href = ..., что заставляет перезагрузить страницу и изменить адресную строку. См. здесь

...