Как проверить, не в сети ли работник сервиса? - PullRequest
0 голосов
/ 24 июня 2018

Я следовал этому уроку https://codelabs.developers.google.com/codelabs/offline/#7

и до сих пор мне удавалось заставить моего работника службы кэшировать автономную страницу и загружать ее, но я хочу показать эту страницу offline.html только при отсутствии доступа к Интернету. Теперь он работает так, что показывает его каждый раз, когда я обновляю страницу, даже с доступом к Интернету, если только я не установил флажок Bypass for network на вкладке Приложения Chrome в инструментах разработчика.

self.addEventListener('fetch', function(event) {
    console.log(event.request.url);
    event.respondWith(
        fetch('https://mysite/offline.html')
    );;
});

1 Ответ

0 голосов
/ 25 июня 2018

вы можете использовать navigator.onLine , который будет возвращать true или false в соответствии с сетевым подключением, вы можете посмотреть его Рекомендации по обнаружению автономного состояния в сервисном работнике может помочь.

...