Нужна помощь с работником службы PWA, который не кэширует все приложение целиком

#progressive-web-apps #service-worker #offline-caching #offlineapps #offline-browsing

Вопрос:

Был бы очень признателен за помощь в этом вопросе.

У меня есть PWA для клиента, которому необходимо, чтобы приложение работало в автономном режиме. Я использовал работников сферы обслуживания, чтобы это произошло, но я сталкиваюсь с множеством неприятных проблем.

  1. Я могу заставить приложение полностью загружаться в автономном режиме на моем компьютере (разработчика)
  2. Другие пользователи могут получить доступ только к случайным частям приложения в автономном режиме
  3. Иногда определенные части приложения загружаются в автономном режиме, такие как воспроизведение видео или случайные изображения, а иногда видео вообще не загружаются.

Я понимаю, что PWA может быть открыт только на одной вкладке за раз.

Что я упускаю?

Код довольно прост:

 var urlsToCache = [  '/css/font.css',  '/css/font-awesome.css',  '/index.html',  '/favicon.ico',  '/map.js',  '/js/jquery-3.4.0.min.js',  '/js/vendor/createjs/createjs.min.js',  '/js/vendor/flexslider/flexslider-rtl-min.css',  '/js/vendor/flexslider/flexslider.css',  '/js/vendor/flexslider/jquery.flexslider-min.js',  '/js/app.js',  '/js/jq-router.min.js',  '/js/vendor/magnific-popup/jquery.magnific-pop-up.min.js',  '/js/vendor/magnific-popup/magnific-popup.css',  '/js/vendor/tooltipster-master/tooltipster-sideTip-punk.min.css',  '/js/vendor/tooltipster-master/tooltipster.bundle.min.css',  '/js/vendor/tooltipster-master/tooltipster.bundle.min.js',  '/css/main.min.css',  '/favicon.ico',  '/templates/template1.htm',  '/templates/template2.htm', [ much more ]  
 self.addEventListener('install', function (e) {  return caches.open(CURRENT_CACHES).then(function (cache) {  return Promise.all(  urlsToCache.map(function (url) {  return cache.add(url).catch(function (reason) {  return errors.push(url);  });  })  );  }); });  

Комментарии:

1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.