Надёжное обновление страницы
От: · Великобритания  
Дата: 17.07.20 11:03
Оценка:
Пытаюсь сделать single page app с автообновлением.

Есть открытая в браузере страница. Иногда выкатывается новая версия приложения. Браузер каким-то образом должен это обнаружить и перезагрузить эту страницу.

Для обнаружения у меня в данный момент открывается websocket — если соединение прервано — считается, что время проверить версию на сервере. Если способ попроще? Или сойдёт?

Допустим мы обнаружили что надо перезагрузить страницу. Наивный window.reload может не сработать если в этот момент сервер лежит, например. Поэтому надо как-то убедиться, что сервер в порядке и возвращает ожидаемый результат. Ну это можно как-то попинговать какой-нибудь урл, или открывая websocket. Но даже если пинг прошел, во время reload тоже может что-нибудь упасть. Загрузка страницы может прерваться в произвольный момент и страница опять будет поломана.

Т.е. в идеале надо как-то вначале загрузить файлы (как минимум index.html и необходимые зависимости .js и .css. В принципе webpack позволяет все .js+.css в один bundle собрать. Т.е. нужно как минимум index.html+bundle.js как-то предварительно подргузить, проверить, что они загрузились целиком и без ошибок в кеш браузера, потом как-то объяснить браузеру, чтобы он отобразил страницу целиком из кеша атомарно.

Как правильно сделать надёжное обновление?

Интересуют современные браузеры, совместимость с IE5 не требуется.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.