Можете ли вы расширить это, почему это необходимо?

авил сервисного работника на свою страницу с кодом ниже. Это работает хорошо, когда страница была перезагружена и рабочий уже установлен. Но, похоже, не перехватывает какие-либо события извлечения до перезагрузки страницы после того, как я увидел"SW INSTALL" журнал.

app.js

navigator.serviceWorker.register('/worker.js').then((registration) =>
{
    console.log('ServiceWorker registration successful with scope: ', 
registration.scope);
}, (err) =>
{
    console.log('ServiceWorker registration failed: ', err);
});

worker.js

self.addEventListener('install', function (event)
 {
    console.log("SW INSTALL");
 });

self.addEventListener('fetch', function (event)
{
    console.log("FETCHING", event);
    event.respondWith(
            caches.match(event.request)
                    .then(function (response, err)
                            {
                                // Cache hit - return response
                                if (response)
                                {
                                    console.log("FOUND", response, err);
                                    return response;
                                }
                                console.log("MISSED", event.request.mode);
                                return fetch(event.request)
                            }
                    )
    );
});

Ответы на вопрос(1)

Ваш ответ на вопрос