ServiceWorkerGlobalScope: activate event
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.
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 activate
event of the ServiceWorkerGlobalScope
interface is fired when a ServiceWorkerRegistration
acquires a new ServiceWorkerRegistration.active
worker.
This event is not cancelable and does not bubble.
Syntax
Use the event name in methods like addEventListener()
, or set an event handler property.
addEventListener("activate", (event) => {});
onactivate = (event) => {};
Event type
An ExtendableEvent
. Inherits from Event
.
Event properties
Doesn't implement any specific properties, but inherits properties from its parent, Event
.
Examples
The following snippet shows how you could use an activate
event handler to upgrade a cache.
self.addEventListener("activate", (event) => {
const cacheAllowlist = ["v2"];
event.waitUntil(
caches.forEach((cache, cacheName) => {
if (!cacheAllowlist.includes(cacheName)) {
return caches.delete(cacheName);
}
}),
);
});
You can also set up the event handler using the onactivate
property:
self.onactivate = (event) => {
// ...
};
Specifications
Specification |
---|
Service Workers # service-worker-global-scope-activate-event |
Service Workers # dom-serviceworkerglobalscope-onactivate |
Browser compatibility
BCD tables only load in the browser