Service worker preloading images and pages.

This commit is contained in:
JesseBrault0709 2024-06-14 09:42:27 +02:00
parent 3c63c04a0a
commit ad55d30a73
2 changed files with 30 additions and 0 deletions

View File

@ -1,3 +1,15 @@
const registerServiceWorker = async () => {
if ('serviceWorker' in navigator) {
try {
await navigator.serviceWorker.register('/serviceWorker.js', { scope: '/' })
} catch (error) {
console.error(`Service worker registration failed: ${error}`)
}
}
}
registerServiceWorker()
window.addEventListener('load', () => { window.addEventListener('load', () => {
const navBars = document.getElementById('nav-bars') const navBars = document.getElementById('nav-bars')
const navItems = document.getElementById('nav-items') const navItems = document.getElementById('nav-items')

18
static/serviceWorker.js Normal file
View File

@ -0,0 +1,18 @@
const addResourcesToCache = async () => {
const cache = await caches.open('v1')
cache.addAll(['/', '/compositions', '/videos', '/lessons', '/contact'])
;[
'https://jessebrault.nyc3.cdn.digitaloceanspaces.com/images/portrait1.jpg',
'https://jessebrault.nyc3.cdn.digitaloceanspaces.com/images/portrait2.jpg',
'https://jessebrault.nyc3.cdn.digitaloceanspaces.com/images/portrait4.jpg',
'https://jessebrault.nyc3.cdn.digitaloceanspaces.com/images/jesse-brault-bratislava.jpg'
].forEach(async url => {
const request = new Request(url, { mode: 'no-cors' })
const response = await fetch(request)
cache.put(request, response)
})
}
self.addEventListener('activate', event => {
event.waitUntil(addResourcesToCache())
})