diff --git a/index.html b/index.html
index 84a96d4d..9eaacb54 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-
KeeWeb
\ No newline at end of file
+KeeWeb
\ No newline at end of file
diff --git a/manifest.appcache b/manifest.appcache
index 3f511a84..8b1492d0 100644
--- a/manifest.appcache
+++ b/manifest.appcache
@@ -1,10 +1,4 @@
CACHE MANIFEST
-# 2019-09-20:v1.10.1
+# 2019-09-28:v1.11.0
# updmin:v6.0.2
-
-CACHE:
-index.html
-
-NETWORK:
-*
diff --git a/service-worker.js b/service-worker.js
new file mode 100644
index 00000000..f86dae3d
--- /dev/null
+++ b/service-worker.js
@@ -0,0 +1,19 @@
+const VERSION = '1.11.0';
+
+self.addEventListener('install', event =>
+ event.waitUntil(
+ caches.open('v1').then(cache =>
+ fetch('.?v=' + VERSION).then(response => {
+ if (response.ok) {
+ return cache.put('.', response);
+ }
+ })
+ )
+ )
+);
+
+self.addEventListener('fetch', event => {
+ event.respondWith(
+ caches.match(event.request.url).then(response => response || fetch(event.request))
+ );
+});