Check if a service worker is supported by our browser:
if(navigator.serviceWorker){
//register the service worker.
navigator.serviceWorker.register("your/service-worker.js file path")
.then(res =>{
console.log("service worker registered successfully.")
})
.catch(error =>{
console.log("error registering service worker.")
})
}
Service worker scope: if you don't provide any scope, then it will be root level, but you can also provide a specific portion of the application(specific folder level).
navigator.serviceWorker.register("service-worker.js", {
scope:"./path/folder"
})
self.addEventListener("install", (event)=>{
// execute on the page load
})
activate: it is used to clean up the useless cache.
self.addEventListener("activate", (event)=>{})
fetch: fetch event triggers every time when a file is requested from the server.