У меня есть статический сайт с сервисным работником, который размещен на страницах GitLab и отлично работает в автономном режиме на моем ноутбуке, но иногда не работает в автономном режиме почти в любом мобильном браузере (работает в Opera Mini, но не в мобильном Chrome ). Поэтому я пытаюсь понять, что с ним не так.
Мой сценарий регистрации работника сервиса, который вызывается по адресу index.html в корне моего сайта:
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('./serviceWorker.js').then(function (registration) {
// Registration was successful
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}, function (err) {
// registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
});
}
Мой сервис Сам работник:
let cache_v1 = 'cache_v1';
self.addEventListener('install', function(event) {
event.waitUntil(
caches.open(cache_v1)
.then(cache => cache.addAll(
[
'./',
'./index.html',
'./favicon.png',
'./dist/bundle.js',
'./dist/style.css',
'./src/icons/soyuz_apollo192.png',
'./src/icons/soyuz_apollo_apple_icon.png',
'./src/img/asia.png',
'./src/img/pustota.jpeg',
'./src/img/zima-min.jpg'
]
))
)
})
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request)
.then(matching => {
return matching || fetch(event.request)
})
)
})
Скажите, есть ли что-то, что вам нужно знать, чтобы помочь