ServiceWorkerContainer.register()

Dies ist eine experimentelle Technologie
Da diese Technologie noch nicht definitiv implementiert wurde, sollte die Browserkompatibilit├Ąt beachtet werden. Es ist auch m├Âglich, dass die Syntax in einer sp├Ąteren Spezifikation noch ge├Ąndert wird.

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.

Syntax

ServiceWorkerContainer.register(scriptURL, options).then(function(ServiceWorkerRegistration) {
  // Do something with ServiceWorkerRegistration.
});

Parameter

scriptURL
Die Url des Service Workers Scripts.
options Optional
Ein Object, welches verschiedene Registrierungsoptionen beinhaltet. Zur Zeit stehen folgende Optionen zur Verf├╝gung:
  • 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.

R├╝ckgabewert

Ein Promise, welches zu einem ServiceWorkerRegistration Objekt aufgel├Âst wird.

Beispiele

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);
}

Spezifikationen

Spezifikation Status Kommentar
Service Workers
Die Definition von 'ServiceWorkerContainer' in dieser Spezifikation.
Arbeitsentwurf Initiale Definition.

Browserkompatiblit├Ąt

Wir konvertieren die Kompatibilit├Ątsdaten in ein maschinenlesbares JSON Format. Diese Kompatibilit├Ątstabelle liegt noch im alten Format vor, denn die darin enthaltenen Daten wurden noch nicht konvertiert. Finde heraus wie du helfen kannst!
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 40.0 44.0 (44.0) Nicht unterst├╝tzt 24 Nicht unterst├╝tzt
Feature Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support ? 44.0 (44.0) (Ja) Nicht unterst├╝tzt ? Nicht unterst├╝tzt 40.0