Как кэшировать исходный файл работника сервиса хотя бы на 24 часа - PullRequest
0 голосов
/ 06 сентября 2018

Есть ли возможность кэшировать исходный файл работника сервиса в течение как минимум 24 часов? Я попытался обеспечить контроль кэша: public, max-age = 1440. но это не работает.

Также, если страница содержит iframe и если вы перезагружаете этот iframe в одиночку, sw.js (сценарий рабочего сервиса) загружается с сервера.

Есть идеи, почему это происходит? Как этого избежать?

1 Ответ

0 голосов
/ 06 сентября 2018

То, что вы видите, связано с поведением, описанным в " Более свежие работники сферы обслуживания, по умолчанию ."

В частности, если вы хотите отказаться от использования HTTP-кэша для удовлетворения запросов вашего работника службы (до 24 часов; после этого они всегда будут работать в сети), вы можете использовать код, подобный следующему:

if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/sw.js', {
    updateViaCache: 'all',
  });
}
...