ServiceWorkerGlobalScope: contentdelete event

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is only available in Service Workers.

The contentdelete event of the ServiceWorkerGlobalScope interface is fired when an item is removed from the indexed content via the user agent.

This event is not cancelable and does not bubble.

Syntax

Use the event name in methods like addEventListener(), or set an event handler property.

js
addEventListener("contentdelete", (event) => {});

oncontentdelete = (event) => {};

Event type

Event properties

In addition to the properties listed below, this interface inherits the properties of its parent interface, Event.

id Read only

A string which identifies the deleted content index via it's id.

Examples

The following example uses a contentdelete event handler to remove cached content related to the deleted index item.

js
self.addEventListener("contentdelete", (event) => {
  const deletion = caches
    .open("cache-name")
    .then((cache) =>
      Promise.all([
        cache.delete(`/icon/${event.id}`),
        cache.delete(`/content/${event.id}`),
      ]),
    );
  event.waitUntil(deletion);
});

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

js
self.oncontentdelete = (event) => {
  // ...
};

Specifications

Specification
Content Index
# dom-serviceworkerglobalscope-oncontentdelete

Browser compatibility

BCD tables only load in the browser

See also