#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. Тем не менее, решение не найдено… Я могу заставить работника службы зарегистрироваться, но работника службы нет в навигаторе, который блокирует тонну кода