Skip to content

Instantly share code, notes, and snippets.

@jakearchibald jakearchibald/app-v1.js Secret
Last active Jul 5, 2016

Embed
What would you like to do?
const url = new URL(location);
url.pathname += '.inc'; // just the content html
fetch(url).then(r => r.json()).then(data => {
document.querySelector('.content').innerHTML = data.html;
});
<!DOCTYPE html>
<h1>This is the static header</h1>
<div class="content"></div>
<script src="/app-v1.js"></script>
self.addEventListener('install', event => {
event.waitUntil(
caches.open('static-v1').then(cache =>
cache.addAll([
'/shell-v1.html',
'/app-v1.js'
])
)
);
});
self.addEventListener('activate', event => {
// delete old caches
});
self.addEventListener('fetch', event => {
const url = new URL(event.request.url);
if (url.origin == location.origin && url.pathname == '/') {
event.respondWith(caches.match('/shell-v1.html'));
return;
}
event.respondWith(
caches.match(event.request).then(r => r || fetch(event.request))
);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.