Ответ 1
Нет, вы не можете. Разрешается регистрировать только одного обслуживающего работника для каждой области, поэтому последний удар предыдущей версии, если только область не является более конкретной, в этом случае в заявке присутствует наиболее конкретно.
Тем не менее, вы можете подключить несколько обработчиков fetch
, и все они обработают запрос, поэтому, возможно, вы можете написать свою функциональность в разделенном script и позволить работнику сервисной службы включать ваш файл через importScripts()
.
Первый обработчик, вызывающий event.respondWith()
синхронно (на самом деле, вы не можете вызвать этот метод асинхронно) выигрывает, а остальные обработчики, пытающиеся вызвать, будут бросать.
Приоритезация и координация требуют связующего ПО. Вы можете проверить ServiceWorkerWare или sw-toolbox.