JS Cache API: кэшированные изображения, обслуживаемые Google Cloud Bucket, не загружаются

Я пишу веб-приложение, в котором пользователь может загружать изображения для дальнейшего использования в автономном режиме с помощью Cache API.

// when the user clicks the download button
window.caches.open("imageCache").then(function(cache) {
          cache.add(imageUrls)
              .then(() => console.log("image cached"))
              .catch((e) => console.error(e));
      });

Это работает, как ожидалось. Используя Chrome-Developer-Tools (в разделе Application -> Cache Storage), я вижу список изображений:

Теперь, когда я хочу отображать изображения в автономном режиме с помощью простых img-тегов, он не работает для изображений, которые обслуживаются из Google Cloud Bucket, но он работает с другими источниками изображений.

Изображение из Google Cloud Buckets не загружается в автономном режиме:

Изображение с fakeimg.pl отображается в автономном режиме:

Есть идеи, почему это не работает?


person hendra    schedule 02.01.2020    source источник
comment
Изображение совсем не четкое.   -  person Rajesh G    schedule 02.01.2020
comment
@RajeshG Извините, сейчас добавлены в полном размере.   -  person hendra    schedule 02.01.2020
comment
Может быть из-за того, что управление кешем не преобразуется для изображений Google.   -  person Rajesh G    schedule 03.01.2020


Ответы (1)


Виновником этого дела был vary: Origin. Но я заметил, что Chrome, по-видимому, единственный браузер, который использует изображения, кэшированные с помощью Cache API, без использования сервис-воркера.

Итак, я внедрил сервис-воркера с рабочим ящиком, и он работает.

person hendra    schedule 05.01.2020