files/en-us/web/api/serviceworkerglobalscope/contentdelete_event/index.md
{{APIRef("Content Index API")}}{{SeeCompatTable}}{{SecureContext_Header}}{{AvailableInWorkers("service")}}
The contentdelete event of the {{domxref("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.
Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property.
addEventListener("contentdelete", (event) => { })
oncontentdelete = (event) => { }
A {{domxref("ContentIndexEvent")}}. Inherits from {{domxref("Event")}}.
{{InheritanceDiagram("ContentIndexEvent")}}
In addition to the properties listed below, this interface inherits the properties of its parent interface, {{domxref("Event")}}.
id.The following example uses a contentdelete event handler to remove cached content related to the deleted index item.
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:
self.oncontentdelete = (event) => {
// …
};
{{Specifications}}
{{Compat}}