Я хочу закодировать свой service worker в HTML-файле, могу ли я это сделать?

#html #service-worker #progressive-web-apps

#HTML #service-worker #progressive-веб-приложения

Вопрос:

Я использую инструмент Luxsci Form Builder для создания форм, и там я могу кодировать Javascript только в HTML-коде (внутренний JS). Я хочу использовать serviceWorker и перевести его в автономный режим с фоновой синхронизацией. Но он не регистрирует, serviceWorker потому что у меня нет serviceWorker файла для этого, но добавляет его в конец HTML-кода. Также я добавляю ссылку на форму для ее регистрации, поскольку конкретного имени файла нет. Что мне делать?

Ответ №1:

ServiceWorker.register требует значения scriptURL . У вас должен быть отдельный файл JavaScript.

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

1. Спасибо. Я столкнулся с проблемой на этом сайте, потому что они не предоставляют опцию отдельного файла.

2. Похоже, вам придется сменить поставщиков, если вам нужен service worker.

3. Да, теперь я понял. Большое вам спасибо

Ответ №2:

Основная проблема с разрешением не файлов scriptURL — это безопасность. Поскольку сервисные работники могут перехватывать сетевые запросы, злоумышленник scriptURL может помешать владельцу сайта удалить скрипт, поскольку URL-адрес не может быть изменен.

Вы можете увидеть полное обсуждение здесь.