The oninstall property of the ServiceWorkerGlobalScope interface is an event handler fired whenever an install event occurs (when the service worker installs). This happens before activation.
self.oninstall = function(event) { ... };
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.oninstall = function(event) { event.waitUntil( caches.open('v1').then(function(cache) { return cache.add( '/sw-test/', '/sw-test/index.html', '/sw-test/style.css', '/sw-test/app.js', '/sw-test/image-list.js', '/sw-test/star-wars-logo.jpg', '/sw-test/gallery/', '/sw-test/gallery/bountyHunters.jpg', '/sw-test/gallery/myLittleVader.jpg', '/sw-test/gallery/snowTroopers.jpg' ); }) ); };
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
oninstall | 
40  | 
17  | 
 44 
Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API. 
 | 
No  | 
24  | 
11.1  | 
40  | 
40  | 
44  | 
24  | 
11.3  | 
4.0  | 
    © 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
    https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/oninstall