Service Worker не работает только для внешних изображений - PullRequest
0 голосов
/ 29 мая 2018

У меня странная проблема с работником службы.Мне нужно загрузить изображения с внешнего сервера, поэтому я использую следующую конфигурацию ngsw-config.json

"dataGroups": [{
    "name": "api-performance",
    "urls": [
      "/api",
      "imagesketches/image/"
    ],
    "cacheConfig": {
      "maxAge": "1d",
      "strategy": "performance"
    }
  }]

Когда я загружаю изображение в первый раз, его загрузка занимает некоторое время, а затем, если яобновите страницу, она загрузит изображение из сервисного работника, как показано на следующем рисунке.

figure1

Однако, если я отключу браузер,не будет загружать изображение из сервисного работника, хотя оно загружает изображения из папки ресурсов, как это видно из следующего изображения

figure2

Даже данные API кешируются правильно .

Я пытался добавить URL-адрес изображения в assetGroups , но он не работал.

Я работаю над PWA на основе Angular5.Я не уверен, связана ли эта проблема с сервисным работником браузера или его угловой реализацией.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 29 мая 2018

Похоже, что проблема только в изображениях, к которым вы пытаетесь получить доступ из внешнего домена (что явно не указано в вопросе, я считаю, исправьте меня, если я ошибаюсь)

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

Вы можете попробовать чужую выборку https://developers.google.com/web/updates/2016/09/foreign-fetch

...