У меня есть автономный Angular SPA, настроенный следующим образом:
- Использование манифеста кеша для сохранения всех статических ресурсов в кеше приложения.
- Использование JS, которое автоматически перезагружает страницу при обнаружении обновления в файле манифеста кеша. Обычно это означает, что в случае обновления страница перезагрузится вскоре после открытия или обновления страницы.
- Настройте заголовки HTTP так, чтобы ни один из статических ресурсов не сохранялся в обычном кеше браузера (только в кеше приложения); это гарантирует, что поведение автоматической перезагрузки всегда будет отображать последние активы.
Все это работает нормально, за исключением одного предостережения: браузер будет проверять наличие обновлений манифеста кеша только при перезагрузке страницы, но, поскольку приложение является SPA, пользователь может использовать приложение в течение длительного времени (и менять представления). на странице много раз) без перезагрузки одной страницы приложения, что подводит меня к моему вопросу. Есть ли какой-то JS, который я мог бы добавить, чтобы браузер искал обновление манифеста кеша всякий раз, когда пользователь меняет представления в SPA, без необходимости перезагрузки пользователем самой страницы. Единственное, что я могу придумать, это автоматически перезагружать страницу каждый раз при изменении представления, тем самым заставляя браузер искать обновление манифеста кеша при каждом изменении представления, но это кажется нелогичным, поскольку это SPA.