Понимание сферы обслуживания работника
Я пытаюсь реализоватьService Worker
на тестовой странице. Моя конечная цель - приложение, которое работает в автономном режиме. Структура папок ниже
/myApp
...
/static
/mod
/practice
service-worker.js
worker-directives.js
foopage.js
/templates
/practice
foopage.html
Я регистрирую работника службы, как показано ниже (в течениеservice-worker.js
):
navigator.serviceWorker.register('../static/mod/practice/service-worker.js').then,(function(reg) {
console.log('Registration succeeded. Scope is ' + reg.scope);
...
}
и в консоли вижу
Registration succeeded. Scope is https://example.com/static/mod/practice/
Если моя страница находится наhttps://example.com/practice/foopage
мне нужно убедиться, что мойservice worker
сфераhttps://example.com/practice/foopage
?
Если я попытаюсь определить область вregister
вызов функции как
navigator.serviceWorker.register('../static/mod/practice/service-worker.js', { scope: '/practice/foopage/' }).then(function(reg) {
...
}
Я получаю ошибку
Registration failed with SecurityError: Failed to register a ServiceWorker: The path of the provided scope ('/practice/foopage/') is not under the max scope allowed ('/static/mod/practice/'). Adjust the scope, move the Service Worker script, or use the Service-Worker-Allowed HTTP header to allow the scope.
Вопрос: Что именно делаетобъем Ссылаться на? Это коллекция URL, чтоservice worker
будет в итоге контролировать? Нужно ли двигатьсяservice-workers.js
где-нибудь еще? Если так, то где?