+18
public/sw.js
+18
public/sw.js
···
1
+
// This is the "Offline copy of pages" service worker
2
+
3
+
const CACHE = "pwabuilder-offline";
4
+
5
+
importScripts('https://storage.googleapis.com/workbox-cdn/releases/5.1.2/workbox-sw.js');
6
+
7
+
self.addEventListener("message", (event) => {
8
+
if (event.data && event.data.type === "SKIP_WAITING") {
9
+
self.skipWaiting();
10
+
}
11
+
});
12
+
13
+
workbox.routing.registerRoute(
14
+
new RegExp('/*'),
15
+
new workbox.strategies.StaleWhileRevalidate({
16
+
cacheName: CACHE
17
+
})
18
+
);
+6
src/layouts/Base.astro
+6
src/layouts/Base.astro
···
16
16
<meta name="generator" content={Astro.generator} />
17
17
<title>{title}</title>
18
18
19
+
<script is:inline>
20
+
if (typeof navigator.serviceWorker !== 'undefined') {
21
+
navigator.serviceWorker.register('sw.js')
22
+
}
23
+
</script>
24
+
19
25
<style is:global>
20
26
/* instantly overwrite reset */
21
27
@layer reset {