Я постараюсь ответить на ваш вопрос:
1) Как я могу использовать мультисервисных работников в корневом каталоге сайта?
Вы можете иметь только одного сервисного работника, зарегистрированного по сайту в указанной области: так, только один в /
области, но вы можете добавить сервисного работника в каждую область на вашем сайте (то есть: один на /
и один на /user
)
Но вы можете объединить 2 работника сервиса в одного, если вам это нужно.
2) Могу ли я использовать один файл сервисного работника и поместить в него два сценария импорта двух сервисных работников?
Да, вы можете сделать это, вы можете поместить любое количество eventListener, которое вам нужно, они выполняются в порядке декларации, но будьте осторожны, если только require
в javascript, все сценарии импорта с importScripts()
не имеют одинаковую область видимости, поэтому у них могут быть некоторые проблемы, если отдельный скрипт имеет какое-либо имя переменной.
3) Могу ли я использовать поддельную область для регистрации работника службы? (Я имею в виду использовать область видимости, и она не указана в пути моего сайта.)
Можно, но область действия ПО определяет его контекст выполнения, поэтому он будет загружен на ваш компьютер / телефон, но он будет эффективен только по запросу в своей области, если вы находитесь на странице под ним (website.com/fake
или website.com/fake/whateverelse
) или если вы вызываете ресурс в этой области (website.com/fake/style.css
)
4) Если я использую importcript, доступно ли кэширование для моих старых пользователей?
Это зависит от того, что вы делаете в фазе install
и activate
. Установка нового ПО или его новой версии не очистит кеш, если вы явно не сделаете это в своем коде.