Я пытаюсь внедрить работника службы для кэширования удаленных ответов API. Я могу успешно зарегистрироваться и активировать работника службы, но событие извлечения никогда не запускается для вызовов XHR или Fetch. Он запускается только для активов c.
Работник службы загружается с пути root <script src="sw.js"></script>
Работник службы (sw. js)
if ('serviceWorker' in navigator) {
window.addEventListener('load', function () {
navigator.serviceWorker.register('sw.js', {
scope: '/my-api'
}).then(function (registration) {
console.log('registration OK');
}, function (err) {
console.log('registration ERROR');
});
});
}
self.addEventListener('install', event => {
event.waitUntil(self.skipWaiting());
});
self.addEventListener('activate', function (event) {
event.waitUntil(self.clients.claim());
});
self.addEventListener('fetch', function (event) {
// This is never fired !
});
Удаленный вызов API
fetch('my-api/hello')
.then((response) => response.json())
.then(json => {
console.log(json);
});
Не могли бы вы мне помочь?
Большое спасибо