Is ServiceWorker ready?

ServiceWorker enthusiasm

The first thing any implementation needs.

Chrome

Supported

Firefox

Supported

Opera

Supported

Safari

No support

Edge

Somewhat supported

Promises

Not ServiceWorker-specific, but required by ServiceWorker. Spec.

Chrome

Supported since version 36

Firefox

Supported since version 29

Opera

Supported since version 23

Safari

Somewhat supported since version 7.1

Edge

Somewhat supported

Debugging

State of debugging tools.

Chrome

Supported since version 40

Firefox

Somewhat supported

Opera

Supported

Safari

No support

Edge

No support

Register / unregister

Register for a SW and get a registration instance back, unregister undoes. Spec. Test.

Chrome

Supported since version 40

Firefox

Somewhat supported

Opera

Supported since version 27

Safari

No support

Edge

No support

postMessage to & from worker

Spec. Test.

Chrome

Somewhat supported since version 40

Firefox

Somewhat supported

Opera

Somewhat supported since version 27

Safari

No support

Edge

No support

Fetch event

Fires for pages and all sub-resources. Spec. Test.

Chrome

Supported since version 40

Firefox

Somewhat supported

Opera

Supported since version 27

Safari

No support

Edge

No support

fetchEvent.request

Spec. Test.

Chrome

Supported since version 40

Firefox

Somewhat supported

Opera

Supported since version 27

Safari

No support

Edge

No support

fetchEvent.respondWith()

Spec. Test.

Chrome

Supported since version 40

Firefox

Somewhat supported

Opera

Supported since version 27

Safari

No support

Edge

No support

Install event

Install event fires in a newly discovered SW. Includes InstallEvent.waitUntil(). Spec. Test

Chrome

Supported since version 40

Firefox

Somewhat supported

Opera

Supported since version 27

Safari

No support

Edge

No support

self.skipWaiting()

Allow an installing worker to take over from the current active worker once installed. Spec. Test.

Chrome

Supported since version 42

Firefox

No support

Opera

No support

Safari

No support

Edge

No support

Activate event

Activate event fires after others become redundant. Includes InstallEvent.waitUntil(). Spec. Test.

Chrome

Supported since version 40

Firefox

Somewhat supported

Opera

Supported since version 27

Safari

No support

Edge

No support

clients.claim()

Allow an active worker to take control of pages in its scope (eg, documents that were loaded before the SW was registered). Spec. Test.

Chrome

Supported since version 42

Firefox

Somewhat supported since version 42

Opera

Supported

Safari

No support

Edge

No support

Update checks

Browser checks for SW updates after navigation. Spec.

Chrome

Supported since version 40

Firefox

Somewhat supported

Opera

Supported since version 27

Safari

No support

Edge

No support

ServiceWorker lifecycle

Allow a next version to be in waiting & take over when appropriate.

Chrome

Supported since version 40

Firefox

Somewhat supported

Opera

No support

Safari

No support

Edge

No support

Request

Spec. Test.

Chrome

Supported since version 40

Firefox

Somewhat supported

Opera

No support

Safari

No support

Edge

No support

Response

Spec. Test.

Chrome

Supported since version 40

Firefox

Somewhat supported

Opera

Supported since version 27

Safari

No support

Edge

No support

fetch(request)

Spec. Test.

Chrome

Supported since version 40

Firefox

Somewhat supported

Opera

Supported since version 27

Safari

No support

Edge

No support

caches

Spec. Test.

Chrome

Somewhat supported since version 40

Firefox

Somewhat supported

Opera

Somewhat supported since version 27

Safari

No support

Edge

No support

serviceWorker.ready

Spec. Test.

Chrome

Supported

Firefox

Somewhat supported

Opera

Supported

Safari

No support

Edge

No support

Background sync

Deferring tasks until the user has connectivity. Spec. Test.

Chrome

Somewhat supported

Firefox

No support

Opera

No support

Safari

No support

Edge

No support

ServiceWorker is coming. Look busy.