ServiceWorker

Diese Übersetzung ist in Arbeit.

Die ServiceWorker-Schnittstelle der Service Worker-API stellt einen Verweis auf einen Serviceworker bereit. Mehrere "Glossary"-Glossar-("Browsing-Kontexte", "Browsing-Kontexte") (z. B. .pages, Arbeitskräfte usw.) können demselben Service-Worker zugeordnet werden, jeder durch ein eindeutiges Objekt.ServiceWorker

Ein Objekt ist in der Eigenschaft ""ServiceWorkerRegistration.active"" und in der Eigenschaft ""ServiceWorkerContainer.controller"" verfügbar – dies ist ein Service-Worker, der aktiviert wurde und die Seite steuert (der Service-Worker wurde erfolgreich registriert, und die gesteuerte Seite wurde neu geladen).)ServiceWorker

Die Schnittstelle wird eine Reihe von Lebenszyklusereignissen – und – und funktionalen Ereignissen einschließlich ausgelöst. Einem Objekt ist ein Objekt zugeordnet, dem der Lebenszyklus von "ServiceWorker.state") zugeordnet ist.ServiceWorkerinstallactivatefetchServiceWorker

Properties

The ServiceWorker interface inherits properties from its parent, Worker.

ServiceWorker.scriptURL Schreibgeschützt
Returns the serialized script URL defined as part of ServiceWorkerRegistration. The URL must be on the same origin as the document that registers the .ServiceWorkerServiceWorker
ServiceWorker.state Schreibgeschützt
Returns the state of the service worker. It returns one of the following values: , , , or .installinginstalled,activatingactivatedredundant

Event handlers

ServiceWorker.onstatechange Schreibgeschützt
An EventListener property called whenever an event of type is fired; it is basically fired anytime the ServiceWorker.state changes.statechange

Methods

The ServiceWorker interface inherits methods from its parent, Worker, with the exception of Worker.terminate — this should not be accessible from service workers.

Examples

This code snippet is from the service worker registration-events sample (live demo). The code listens for any change in the ServiceWorker.state and returns its value.

if ('serviceWorker' in navigator) {
    navigator.serviceWorker.register('service-worker.js', {
        scope: './'
    }).then(function (registration) {
        var serviceWorker;
        if (registration.installing) {
            serviceWorker = registration.installing;
            document.querySelector('#kind').textContent = 'installing';
        } else if (registration.waiting) {
            serviceWorker = registration.waiting;
            document.querySelector('#kind').textContent = 'waiting';
        } else if (registration.active) {
            serviceWorker = registration.active;
            document.querySelector('#kind').textContent = 'active';
        }
        if (serviceWorker) {
            // logState(serviceWorker.state);
            serviceWorker.addEventListener('statechange', function (e) {
                // logState(e.target.state);
            });
        }
    }).catch (function (error) {
        // Something went wrong during registration. The service-worker.js file
        // might be unavailable or contain a syntax error.
    });
} else {
    // The current browser doesn't support service workers.
}

Specifications

Specification Status Comment
Service Workers
Die Definition von 'ServiceWorker' in dieser Spezifikation.
Arbeitsentwurf Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidFirefox für AndroidOpera für AndroidSafari auf iOSSamsung Internet
ServiceWorker
Experimentell
Chrome Vollständige Unterstützung 40Edge Vollständige Unterstützung 17
Vollständige Unterstützung 17
Vollständige Unterstützung 16
Deaktiviert
Deaktiviert From version 16: this feature is behind the Enable service workers preference.
Firefox Vollständige Unterstützung 44
Hinweise
Vollständige Unterstützung 44
Hinweise
Hinweise Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 27Safari Vollständige Unterstützung 11.1WebView Android Vollständige Unterstützung 40Chrome Android Vollständige Unterstützung 40Firefox Android Vollständige Unterstützung 44Opera Android Vollständige Unterstützung 27Safari iOS Vollständige Unterstützung 11.3Samsung Internet Android Vollständige Unterstützung 4.0
onstatechange
Experimentell
Chrome Vollständige Unterstützung 40Edge Vollständige Unterstützung 17
Vollständige Unterstützung 17
Vollständige Unterstützung 16
Deaktiviert
Deaktiviert From version 16: this feature is behind the Enable service workers preference.
Firefox Vollständige Unterstützung 44
Hinweise
Vollständige Unterstützung 44
Hinweise
Hinweise Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 27Safari Vollständige Unterstützung 11.1WebView Android Vollständige Unterstützung 40Chrome Android Vollständige Unterstützung 40Firefox Android Vollständige Unterstützung 44Opera Android Vollständige Unterstützung 27Safari iOS Vollständige Unterstützung 11.3Samsung Internet Android Vollständige Unterstützung 4.0
scriptURL
Experimentell
Chrome Vollständige Unterstützung 40Edge Vollständige Unterstützung 17
Vollständige Unterstützung 17
Vollständige Unterstützung 16
Deaktiviert
Deaktiviert From version 16: this feature is behind the Enable service workers preference.
Firefox Vollständige Unterstützung 44
Hinweise
Vollständige Unterstützung 44
Hinweise
Hinweise Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 27Safari Vollständige Unterstützung 11.1WebView Android Vollständige Unterstützung 40Chrome Android Vollständige Unterstützung 40Firefox Android Vollständige Unterstützung 44Opera Android Vollständige Unterstützung 27Safari iOS Vollständige Unterstützung 11.3Samsung Internet Android Vollständige Unterstützung 4.0
state
Experimentell
Chrome Vollständige Unterstützung 40Edge Vollständige Unterstützung 17
Vollständige Unterstützung 17
Vollständige Unterstützung 16
Deaktiviert
Deaktiviert From version 16: this feature is behind the Enable service workers preference.
Firefox Vollständige Unterstützung 44
Hinweise
Vollständige Unterstützung 44
Hinweise
Hinweise Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 27Safari Vollständige Unterstützung 11.1WebView Android Vollständige Unterstützung 40Chrome Android Vollständige Unterstützung 40Firefox Android Vollständige Unterstützung 44Opera Android Vollständige Unterstützung 27Safari iOS Vollständige Unterstützung 11.3Samsung Internet Android Vollständige Unterstützung 4.0

Legende

Vollständige Unterstützung  
Vollständige Unterstützung
Keine Unterstützung  
Keine Unterstützung
Experimentell. Das Verhalten kann sich zukünftig ändern.
Experimentell. Das Verhalten kann sich zukünftig ändern.
Siehe Implementierungshinweise.
Siehe Implementierungshinweise.
Benutzer muss dieses Feature explizit aktivieren.
Benutzer muss dieses Feature explizit aktivieren.

See also