はい、デバイスがオンラインのときにキャッシュされたバージョンのページを表示しないように、Service Workerを使用してProgressive Web App（PWA）を設定することは可能です。これは、Service Workerにキャッシュ無効化ストラテジーを実装することで実現できます。

キャッシュ無効化の一般的なアプローチは、サーバーのレスポンスにあるCache-Controlヘッダーを使用して、キャッシュされたリソースが有効とみなされる期間を指定することです。キャッシュされたリソースの有効期限が切れると、Service Workerは更新されたバージョンのリソースを取得するためにネットワークリクエストを行います。

このストラテジーを実装するには、サーバーのレスポンスにCache-Controlヘッダーを追加して、数秒や数分といった短い有効期限を指定します。こうすることで、Service Workerはリソースがリクエストされるたびに、更新されたバージョンのリソースをチェックするようになります。

Cache-Controlヘッダーの使用に加えて、PWA固有の要件に応じて、バージョニングや時間ベースの期限切れなど、他のキャッシュ無効化戦略を実装することもできます。

PWAのパフォーマンスと応答性を向上させることができるため、デバイスがオンラインであってもキャッシュが望ましい場合があることは注目に値します。ただし、リソースの最新バージョンが常に表示されるようにする必要がある場合は、キャッシュ無効化戦略を実装することで、この目標を達成することができます。
Yes, it is possible to configure a Progressive Web App (PWA) with a Service Worker to not display the cached version of the page when the device is online. You can achieve this by implementing a cache invalidation strategy in your Service Worker.

A common approach to cache invalidation is to use the Cache-Control header in the server's response to specify how long a cached resource should be considered valid. When a cached resource expires, the Service Worker will make a network request to retrieve the updated version of the resource.

To implement this strategy, you can add a Cache-Control header to the server's response with a short expiration time, such as a few seconds or minutes. This will cause the Service Worker to check for an updated version of the resource every time it is requested.

In addition to using the Cache-Control header, you can also implement other cache invalidation strategies, such as versioning or time-based expiration, depending on the specific requirements of your PWA.

It is worth noting that in some cases, caching may be desirable even when the device is online, as it can improve the performance and responsiveness of the PWA. However, if you need to ensure that the most up-to-date version of a resource is always displayed, implementing a cache invalidation strategy can help achieve this goal.