Я пытаюсь создать автономную версию сайта для PWA и застрял с проблемой.Событие 'sync' для работника сервиса прекрасно работает на Android и на рабочем столе, но не работает на IOS.Мой код init здесь.
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('${appDns!}/serviceWorker.js?v=${appVersion!}')
.then(function() {
return navigator.serviceWorker.ready
})
.then(function (registration) {
if (registration.sync) {
registration.sync.register('offline-sync')
.then(function () {
})
.catch(function (err) {
console.error('Service workers sync problem.', err);
});
}
})
.catch(function (err) {
console.info('Service workers "register" is not supported.');
return err;
});
}
, но на IOS registration
нет sync
, а метод sync
в сервисном работнике не срабатывает
self.addEventListener('sync', event => {
console.log('SYNC!!!!!!!!!! event:', event);
return event.waitUntil(syncDataForOffline().catch(e => console.error("syncDataForOffline: ", e)));
});
Возможно, кто-то знает обходной путь, как хранить данные в indexedBD для IOS.
.