Wszystkie zasoby strony, które mogą spowolnić proces odpowiedzi, są uważane za niekorzystne dla szybkiej implementacji aplikacji.
Typowe rozwiązanie polega na opóźnieniu rejestracji Service Workera do momentu załadowania strony przez użycie kodu:
if ('serviceWorker' in navigator) { window.addEventListener('load', function() { navigator.serviceWorker.register('/service-worker.js'); }); }
Jeśli aplikacja korzysta z jakiejś platformy programistycznej, która wykonuje dodatkowe czynności po załadowaniu strony, warto znaleźć specyficzne zdarzenie dla tego frameworka, które sygnalizuje, kiedy te czynności zostaną wykonane. Należy ustalić optymalny moment uruchomienia Service Workera w tle, aby zbytnio nie spowolnić strony.
Podczas kolejnej wizyty nie ma znaczenia, kiedy wywołany zostanie navigator.serviceWorker.register() oraz czy w ogóle to nastąpi. Jeśli nie zmieni się adresu URL Service Workera, rejestracja nie będzie działać podczas kolejnych wizyt – ponieważ skrypt został już zarejestrowany wcześniej.
Bezpieczeństwo