23 July 2025
HTML
<meta name="viewport" content="width=device-width, initial-scale=1">
{
"name": "Mon Super Site",
"short_name": "SuperSite",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#007bff",
"icons": [
{
"src": "/icons/icon-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/icons/icon-512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
<link rel="manifest" href="/manifest.json">
self.addEventListener("install", e => {
e.waitUntil(
caches.open("static").then(cache => {
return cache.addAll(["./", "./index.html", "./style.css"]);
})
);
});
self.addEventListener("fetch", e => {
e.respondWith(
caches.match(e.request).then(response => {
return response || fetch(e.request);
})
);
});
<script>
if ("serviceWorker" in navigator) {
navigator.serviceWorker.register("/sw.js");
}
</script>