Service Workers
Это специальный тип JavaScript-скриптов, которые могут работать в фоновом режиме и осуществлять различные задачи, такие как кэширование и оффлайн-работа веб-приложений.
Service Workers регистрируются в веб-приложении и начинают работать только после того, как браузер подтвердит их регистрацию. Они могут работать в фоновом режиме, даже когда веб-приложение не активно, и имеют доступ к системе кэширования браузера и другим средствам оффлайн-работы.
Вот пример регистрации Service Worker в веб-приложении:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js')
.then((reg) => {
console.log('Service worker registered.', reg);
});
}
В этом примере мы проверяем, поддерживает ли браузер работу с Service Workers, и если да, то регистрируем файл /service-worker.js как Service Worker.
В файле /service-worker.js мы можем определить различные обработчики событий, например, обработчик для события fetch, который будет обрабатывать запросы и возвращать данные из кэша, если они есть:
self.addEventListener('fetch', (event) => {
event.respondWith(
caches.match(event.request)
.then((response) => {
if (response) {
return response;
}
return fetch(event.request);
})
);
});
👉 @seniorFront