First prototype
diff --git a/sw.js b/sw.js
new file mode 100644
index 0000000..b5cce5c
--- /dev/null
+++ b/sw.js
@@ -0,0 +1,39 @@
+var CACHE_NAME = 'linia-cache-v1';
+var urlsToCache = [
+ '.',
+ 'js/index.js',
+ 'css/index.css',
+ 'info.php?view=0',
+ 'info.php?view=1',
+ 'js/views/l9n.js',
+ 'css/views/l9n.css'
+];
+
+self.addEventListener('install', function(event) {
+ // Perform install steps
+ event.waitUntil(
+ caches.open(CACHE_NAME).then(cache => {
+ return cache.addAll(urlsToCache);
+ })
+ );
+});
+
+self.addEventListener('fetch', function(event) {
+ var request = event.request;
+ var url = new URL(request.url);
+ url.searchParams.delete("station");
+ request = new Request(url.toString());
+
+ event.respondWith(
+ caches.match(request).then(response => {
+ // Cache hit - return response
+ if (response) {
+ return response;
+ }
+
+ return fetch(event.request);
+ }).catch(err => {
+ console.error(err);
+ })
+ );
+});