0

すべてのユーザーに対して preCache を実行するのではなく、メンバーに対してのみ preCache を実行します。サーバーへの不必要な負荷と、1 回限りの訪問者の不必要なキャッシュを回避するために、これを行いたいと考えています。

そのため、訪問者がログインすると、Service Worker にメッセージを送信します。以下の Service Worker のスニペットでは、「Message Received」がコンソールに記録されています。ただし、画像はキャッシュされません。そして、エラーメッセージはありません。

precacheAndRoute(images)の下に直接配置するとconst images = [....];、画像は適切にキャッシュされます。

サービスワーカーは初めてです。そして、どんな助けも大歓迎です。

const images = [....];
addEventListener('message', (event) => {
  if (event.data.type === 'cacheImages') {
    console.log('Message Received');
    precacheAndRoute(images);
  }
});

4

1 に答える 1