Вы не можете обнаружить момент (событие) возврата в рабочее состояние из автономного состояния в самом Service Worker. Однако, если вас это особенно интересует, вы можете использовать события online
и offline
в объекте window
. Другими словами, вы можете добавить прослушиватели событий в свой обычный JavaScript-код, выполняющийся на странице (НЕ на SW) для этих событий, и всякий раз, когда они происходят, уведомлять SW через postMessage API
. Таким образом, ваш JS на странице обнаруживает изменения онлайн / офлайн и уведомляет SW, после чего SW может использовать эту информацию для любых целей.
Одно замечание: эти события online / offline нене запускается, если браузер закрыт или пользователь не просматривает страницу, потому что это происходит в контексте выполнения JS страницы. Это сделано специально: вы не сможете создать Service Worker, который бы непрерывно отслеживал состояние подключения пользователя.
Как указывали другие, в зависимости от того, что вас действительно интересует («когда происходит подключениепроизойдет изменение «против», как проверить, подключен ли он / не подключен к SW »), это может быть повторяющийся вопрос, и я предлагаю вам прочитать связанный ответ.
Из того, что вы спрашиваете, я полагаю, вы хотели бы выполнить какую-то синхронизацию между клиентом и сервером, не так ли? Если это так, я предлагаю вам прочитать о Background Sync API
, который поддерживается, по крайней мере, Chrome, он может вам помочь. Вот несколько примеров использования с библиотекой Workbox https://developers.google.com/web/tools/workbox/modules/workbox-background-sync