Мне просто интересно, есть ли удобный способ кэшировать всю PWA по клику? Точно так же, как вы бы скачали и установили нативное приложение из магазина приложений?
Если я не ошибаюсь, единственное решение в настоящее время состоит в том, что вам нужно добавить все существующие файлы в массив и использовать метод cache.addAll. (как вы видите ниже). Вы можете выполнить функцию тогда, если кнопка была нажата.
function downloadApp() {
caches.open(appCache).then(function(cache) {
return cache.addAll([
'/',
'/files/1',
'/files/2',
// ...
// All PWA files
]);
})
}
Знаете ли вы какие-либо подходы для этого лучше?