Is service worker ready?

4 min read Original article ↗

Is ServiceWorker ready?

Yes.

Service worker enthusiasm

The first thing any implementation needs.

Chrome

Supported

Firefox

Supported

Opera

Supported

Samsung Internet

Supported

Safari

Supported

Edge

Supported

  • Chrome: Shipped.
  • Firefox: Shipped.
  • Samsung Internet: Shipped. Based on Chromium 44.2403 with some additions and changes. (See "Service Worker" section.)
  • Safari: Shipped.
  • Edge: Shipped.
  • Support does not include iOS versions of third-party browsers on that platform (see Safari support).

Promises

Not service worker-specific, but required by service worker. Spec.

Chrome

Supported since version 36

Firefox

Supported since version 29

Opera

Supported since version 23

Samsung Internet

Supported since version 2

Safari

Supported since version 9

Edge

Supported since version 13

    Debugging

    State of debugging tools.

    Chrome

    Supported since version 40

    Firefox

    Supported since version 47

    Opera

    Supported

    Samsung Internet

    Supported

    Safari

    Supported since version 11.1

    Edge

    Supported since version 17

    • Chrome: You can debug service worker scripts as any other. "Application" panel in devtools has service worker & cache sections.
    • Firefox: Debuggable from the "Workers" page in about:debugging.
    • Firefox: Web Console can display console messages from service workers.
    • Firefox: about:serviceworkers has some under-the-hood stuff.
    • Opera: Debuggable from the resources panel in Opera developer if you enable super-experimental devtools.
    • Opera: Console messages from the service worker appear in the pages' console in Opera stable.
    • Safari: See 'service workers' in the 'develop' menu to open an inspector for a particular service worker.
    • Edge: See the service worker section in the sources panel.
    • Chrome & Opera: Debuggable from the resources panel in Chrome Canary and Opera developer if you enable super-experimental devtools.
    • Chrome & Opera: Console messages from the service worker appear in the pages' console.
    • Chrome & Opera & Samsung Internet: chrome://serviceworker-internals resp. browser://serviceworker-internals (in Opera developer) has some under-the-hood stuff.

    Register / unregister

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

    Chrome

    Supported since version 40

    Firefox

    Supported since version 44

    Opera

    Supported since version 27

    Samsung Internet

    Supported since version 4

    Safari

    Supported since version 11.1

    Edge

    Supported since version 17

      postMessage to & from worker

      Spec. Test.

      Chrome

      Supported since version 45

      Firefox

      Supported since version 44

      Opera

      Supported since version 32

      Samsung Internet

      Supported since version 4

      Safari

      Supported since version 11.1

      Edge

      Supported since version 17

        Fetch event

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

        Chrome

        Supported since version 40

        Firefox

        Supported since version 44

        Opera

        Supported since version 27

        Samsung Internet

        Supported since version 4

        Safari

        Supported since version 11.1

        Edge

        Supported since version 17

          fetchEvent.request

          Spec. Test.

          Chrome

          Supported since version 40

          Firefox

          Supported since version 44

          Opera

          Supported since version 27

          Samsung Internet

          Supported since version 4

          Safari

          Supported since version 11.1

          Edge

          Supported since version 17

            fetchEvent.respondWith()

            Spec. Test.

            Chrome

            Supported since version 40

            Firefox

            Supported since version 44

            Opera

            Supported since version 27

            Samsung Internet

            Supported since version 4

            Safari

            Supported since version 11.1

            Edge

            Supported since version 17

              Install event

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

              Chrome

              Supported since version 40

              Firefox

              Supported since version 44

              Opera

              Supported since version 27

              Samsung Internet

              Supported since version 4

              Safari

              Supported since version 11.1

              Edge

              Supported since version 17

                self.skipWaiting()

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

                Chrome

                Supported since version 42

                Firefox

                Supported since version 44

                Opera

                Supported since version 27

                Samsung Internet

                Supported since version 4

                Safari

                Supported since version 11.1

                Edge

                Supported since version 17

                  Activate event

                  Activate event fires once this worker becomes the active worker in a registration. Includes event.waitUntil(). Spec. Test.

                  Chrome

                  Supported since version 40

                  Firefox

                  Supported since version 44

                  Opera

                  Supported since version 27

                  Samsung Internet

                  Supported since version 4

                  Safari

                  Supported since version 11.1

                  Edge

                  Supported since version 17

                    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

                    Supported since version 44

                    Opera

                    Supported since version 33

                    Samsung Internet

                    Supported since version 4

                    Safari

                    Supported since version 11.1

                    Edge

                    Supported since version 17

                      Update checks

                      Browser checks for SW updates after navigation. Spec.

                      Chrome

                      Supported since version 40

                      Firefox

                      Supported since version 44

                      Opera

                      Supported since version 27

                      Samsung Internet

                      Supported since version 4

                      Safari

                      Supported since version 11.1

                      Edge

                      Supported since version 17

                        Service worker lifecycle

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

                        Chrome

                        Supported since version 40

                        Firefox

                        Supported since version 44

                        Opera

                        Supported since version 27

                        Samsung Internet

                        Supported since version 4

                        Safari

                        Supported since version 11.1

                        Edge

                        Supported since version 17

                          Request

                          Spec. Test.

                          Chrome

                          Supported since version 40

                          Firefox

                          Supported since version 39

                          Opera

                          Supported since version 27

                          Samsung Internet

                          Supported since version 4

                          Safari

                          Supported since version 10.1

                          Edge

                          Supported since version 14

                            Response

                            Spec. Test.

                            Chrome

                            Supported since version 40

                            Firefox

                            Supported since version 39

                            Opera

                            Supported since version 33

                            Samsung Internet

                            Supported since version 4

                            Safari

                            Supported since version 10.1

                            Edge

                            Supported since version 14

                            fetch(request)

                            Spec. Test.

                            Chrome

                            Supported since version 40

                            Firefox

                            Supported since version 39

                            Opera

                            Supported since version 27

                            Samsung Internet

                            Supported since version 4

                            Safari

                            Supported since version 10.1

                            Edge

                            Supported since version 14

                            caches

                            Spec. Test.

                            Chrome

                            Supported since version 46

                            Firefox

                            Supported since version 44

                            Opera

                            Supported since version 33

                            Samsung Internet

                            Supported since version 4

                            Safari

                            Supported since version 11.1

                            Edge

                            Supported since version 16

                              serviceWorker.ready

                              Spec. Test.

                              Chrome

                              Supported

                              Firefox

                              Supported since version 44

                              Opera

                              Supported since version 33

                              Samsung Internet

                              Supported since version 4

                              Safari

                              Supported since version 11.1

                              Edge

                              Supported since version 17

                                Service worker is here. Get busy with it.