2017-02-22 45 views
1

Недавно я сделал свое первое прогрессивное веб-приложение с рабочим сервисом, сгенерированным модулем узла Google «sw-precache» (я использовал задачу Gulp в demo). Все работает отлично, и я могу перемещаться по веб-приложению, когда я в автономном режиме, используя Chrome на мобильных устройствах или используя значок, созданный Chrome, с помощью опции «Добавить на главный экран» (мое прогрессивное веб-приложение).Прогрессивное веб-приложение офлайн-обновление не работает

У меня есть только одна странная проблема: если я не в сети, и я обновляю страницу в Chrome, она по-прежнему работает, но если я делаю то же самое с помощью pwa, она показывает динозавр и сообщение «Вы в автономном режиме» (обновить) путем прокрутки). Но если я перемещаюсь по приложению без обновления страницы, никакого динозавра.

Это известная проблема?

+1

Вы не возражаете, подав вопрос на https://github.com/GoogleChrome/sw-precache/issues с большим количеством деталей, в том числе URL вашего развернутого веб-приложения, а конкретная конфигурация вы» переходите к 'sw-precache'? Я продолжу там. Благодаря! –

+1

@JeffPosnick Большое спасибо! Вот ссылка: https://github.com/GoogleChrome/sw-precache/issues/252 – pmrotule

+1

Я голосую, чтобы закрыть этот вопрос как не относящийся к теме, потому что он лучше всего подходит для отслеживания проблем конкретной библиотеки, к которой он относится , –

ответ

0

Из-за внешнего вида вы использовали только sw-precache. У работника службы, похоже, нет обработчика событий, чтобы слушать, что делать, если страница не кэшируется. Вы можете использовать sw-toolbox для обработки кэширования будущих посещений и обработки автономной страницы. Heres код

self.toolbox.router.get('/(.*)', function (req, vals, opts) { 
    return self.toolbox.networkFirst(req, vals, opts) 
     .catch(function (error) { 
      if (req.method === 'GET' && req.headers.get('accept').includes('text/html')) { 
       return self.toolbox.cacheOnly(new Request(OFFLINE_URL), vals, opts); 
      } 
      throw error; 
     }); 
    }); 

 Смежные вопросы

  • Нет связанных вопросов^_^