мне интересно, можно ли было создать работника сервиса без сохранения кеша. но позволяя использовать манифест для создания домашней страницы. Что я пытаюсь сделать, так это то, что если пользователь заходит на веб-страницу, он все равно добавляет на главный экран кнопку, но кэш не остается STATI C, потому что страница обновляет информацию каждые 20 мин.
const pwaCache = 'pwa-cache-1';
const staticCache = [
'/',
'app.php',
'page2.html',
'/style.css',
' /main.js',
'/thumb.png'
];
self.addEventListener('install', (e) => {
e.waitUntil(
caches.open(pwaCache)
.then(cache => cache.addAll(staticCache))
);
});
self.addEventListener('activate', (e) => {
l et cacheCleaned = caches.keys().then((keys) => {
keys.forEach((key) => {
if (key !== pwaCache) return caches.delete(key);
});
});
e.waitUntil(cacheCleaned);
});
self.addEventListener('fetch', (e) => {
let res = caches.match(e.request).then((res) => {
if (res) return res;
return fetch(e.request).then((fetchRes) => {
caches.open(pwaCache).then(cache => cache.put(e.request, fetchRes));
return fetchRes.clone();
});
});
// Respond
e.respondWith(res);
});