Skrypty service worker rozszerzeń są instalowane i aktualizowane inaczej niż instancje usług internetowych. Na tej stronie opisujemy te różnice.
Zarejestruj skrypty service worker
Aby zarejestrować skrypt service worker rozszerzenia, podaj go w polu "background"
w pliku manifest.json
. Użyj klucza "service_worker"
, który określa pojedynczy plik JavaScript. Skrypty service worker na stronach lub w aplikacjach internetowych rejestrują te mechanizmy, najpierw wykrywając funkcje w trybie serviceWorker
w navigator
, a następnie wywołując register()
w ramach wykrywania funkcji. Nie działa w przypadku rozszerzeń.
{
"name": "Awesome Test Extension",
...
"background": {
"service_worker": "service-worker.js"
},
...
}
Importuj skrypty
Istnieją 2 metody importowania skryptów do skryptu service worker: instrukcja import
i metoda importScripts()
. Pamiętaj, że narzędzie import()
, nazywane często importowaniem dynamicznym, nie jest obsługiwane.
Aby użyć instrukcji import
, dodaj do pliku manifestu pole "type"
i wpisz w nim wartość "module"
. Na przykład:
"background": {
"service_worker": "service-worker.js",
"type": "module"
}
Następnie używaj import
w zwykły sposób. Pamiętaj, że asercje importu nie są obsługiwane.
import { tldLocales } from './locales.js';
Użyj narzędzia importScripts()
tak samo jak w skrypcie usług internetowych.
importScripts('locales.js');
Aktualizuj
Aby zaktualizować skrypt service worker, opublikuj nową wersję rozszerzenia w Chrome Web Store. Nie możesz obejść tego problemu, ładując rozszerzenie z serwera. Ze względów bezpieczeństwa platforma Manifest V3 nie obsługuje kodu hostowanego zdalnie. Skrypt service worker musi być częścią pakietu rozszerzeń.