あれ
2022/8/3 3:11:00
Service Workerで、オフラインの時だけキャッシュを使う> 接続判定にNavigator.onLineを使うのはダメなのかしら
https://html.spec.whatwg.org/multipage/system-state.html#navigator.online
PWAだと使えないとかあるんかな。
Navigator.onLineは知りませんでした。勉強になります。ありがとうございます。
まだNavigator.onLineを試してないですが、以下の理由でfetchを使っています。
- サーバー側が落ちているときも、利用者はキャッシュでコンテンツを見られてほしい。
self.addEventListener('fetch', event => {...はブラウザの通信を置き換える処理のため、return responseで通信結果(fetchの結果)を返さないと、オンラインでもオフラインのような挙動になってしまう(オンラインでも通信ができなくなりコンテンツの取得に失敗する)。self.addEventListener('fetch', event => {...内でevent.respondWithを使わなければ通常の通信を行ってくれそう。そのため、この項に関してはNavigator.onLineを使わない理由としては不適。
オフラインの時だけというのは正確ではなかったですね。正確にはサーバーと通信ができないときになります。