docs.rodeo

MDN Web Docs mirror

ServiceWorkerGlobalScope: install event

{{APIRef("Service Workers API")}} {{SecureContext_Header}} {{AvailableInWorkers("service")}} 

The install event of the {{domxref("ServiceWorkerGlobalScope")}}  interface is fired when a {{domxref("ServiceWorkerRegistration")}}  acquires a new {{domxref("ServiceWorkerRegistration.installing")}}  worker.

This event is not cancelable and does not bubble.

Syntax

Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}} , or set an event handler property.

addEventListener("install", (event) => {});

oninstall = (event) => {};

Event type

An {{domxref("ExtendableEvent")}} . Inherits from {{domxref("Event")}} .

{{InheritanceDiagram("ExtendableEvent")}} 

Event properties

Doesn’t implement any specific properties, but inherits properties from its parent, {{domxref("Event")}} .

Examples

The following snippet shows how an install event handler can be used to populate a cache with a number of responses, which the service worker can then use to serve assets offline:

self.addEventListener("install", (event) => {
  event.waitUntil(
    caches
      .open("v1")
      .then((cache) =>
        cache.addAll([
          "/",
          "/index.html",
          "/style.css",
          "/app.js",
          "/image-list.js",
          "/star-wars-logo.jpg",
          "/gallery/",
          "/gallery/bountyHunters.jpg",
          "/gallery/myLittleVader.jpg",
          "/gallery/snowTroopers.jpg",
        ]),
      ),
  );
});

You can also set up the event handler using the oninstall property:

self.oninstall = (event) => {
  // ...
};

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN