Работник службы не в навигаторе

#javascript #vue.js #service-worker

Вопрос:

Я пытаюсь заставить сотрудника службы поддержки подписываться на уведомления, а также отправлять push-уведомления. Для этого я регистрирую сотрудника службы (он отображается в консоли Chrome), а затем пытаюсь выполнить свою задачу там. До сих пор я могу зарегистрировать сотрудника службы, но он не будет отображаться в навигаторе, как это было сказано в куче руководств. Ниже приведен мой текущий код, сокращенный до минимального тестового случая. Я делаю это в Vue.js в качестве моего переднего плана.

Регистрация

 import { register } from 'register-service-worker'
  console.log('Registering service worker')
  register(`service-worker.js`, {scope: '/'},{
    ready () {
      console.log('Service worker is ready.')
    },
    registered () {
      console.log('Service worker has been registered.')
    },
    error (error) {
      console.error('Error during service worker registration:', error)
    }
  })
 

файл serviceworker

 console.log(navigator) // This is where I am manually checking for serviceWorker to exist

if ('serviceWorker' in navigator) {
    navigator.serviceWorker.ready.then(function(serviceWorkerRegistration) {
        console.log("SW Registered pre push manager")
    })
}
 

Я исследовал google и ТАК ДАЛЕЕ, и все, что указывает на то, что мне нужен https, кроме как на локальном хосте (на котором я нахожусь), и что мне нужно убедиться, что область действия правильная, и то, и другое там хорошо.

Мой вопрос в том, как я могу заставить это работать там, где будет выполняться код внутри моего оператора if

Комментарии:

1. Тем не менее, решение не найдено… Я могу заставить работника службы зарегистрироваться, но работника службы нет в навигаторе, который блокирует тонну кода