--- title: ServiceWorkerContainer.register() slug: Web/API/ServiceWorkerContainer/register translation_of: Web/API/ServiceWorkerContainer/register ---
{{SeeCompatTable}}{{APIRef("Service Workers API")}}
Die register()
Methode der ServiceWorkerContainer
Schnittstelle erstellt oder aktualisiert eine ServiceWorkerRegistration
für die gegebene scriptURL
.
Nach erfolgreicher Registrierung verwendet die Service Worker Registrierung die übergebene scriptURL
und ihren Bereich für den Navigationsabgleich. Die Methode gibt ein Promise
zurück, welches zu einer ServiceWorkerRegistration
aufgelöst wird. Die Funktion kann bedingungslos aufgerufen werden - Es muss vorher nicht kontrolliert werden, ob eine aktive Registrierung vorhanden ist.
Es entstehen häufig Verwirrungen über die Bedeutung und Verwendung des scope
. Da ein ServiceWorker keinen größeren Bereich abdecken kann als seinen einen Pfad, sollte man den Parameter nur verwenden, wenn man einen kleineren Bereich als den Standardbereich abdecken will.
ServiceWorkerContainer.register(scriptURL, options).then(function(ServiceWorkerRegistration) { // Do something with ServiceWorkerRegistration. });
scriptURL
options
{{optional_inline}}
scope
: Ein USVString
, welcher eine URL darstellt, die zur Festlegung des Bereiches des Service Workers verwendet wird. Dies ist normalerweise eine relative URL. Der Standardwert ist die URL, die man bekommen würde, wenn man './' mit dem Pfad des Service Worker Scripts verwenden würde.Ein Promise
, welches zu einem ServiceWorkerRegistration
Objekt aufgelöst wird.
if ('serviceWorker' in navigator) { navigator.serviceWorker.register('service-worker.js', {scope: './'}).then(function(registration) { document.querySelector('#status').textContent = 'succeeded'; }).catch(function(error) { document.querySelector('#status').textContent = error; }); } else { // Der verwendete Browser unterstützt Service Worker nicht. var aElement = document.createElement('a'); aElement.href = 'http://www.chromium.org/blink/serviceworker/service-worker-faq'; aElement.textContent = 'unavailable'; document.querySelector('#status').appendChild(aElement); }
Spezifikation | Status | Kommentar |
---|---|---|
{{SpecName('Service Workers', '#service-worker-container', 'ServiceWorkerContainer')}} | {{Spec2('Service Workers')}} | Initiale Definition. |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | {{CompatChrome(40.0)}} | {{ CompatGeckoDesktop("44.0") }} | {{CompatNo}} | 24 | {{CompatNo}} |
Feature | Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | {{CompatUnknown}} | {{ CompatGeckoMobile("44.0") }} | {{ CompatVersionUnknown }} | {{CompatNo}} | {{CompatUnknown}} | {{CompatNo}} | {{CompatChrome(40.0)}} |