aboutsummaryrefslogtreecommitdiffhomepage
path: root/ui/static/js
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2018-07-15 21:51:09 -0700
committerGravatar Frédéric Guillot <fred@miniflux.net>2018-07-15 21:51:09 -0700
commit6aa02680d80709d714672dd842dc3dc2533339fe (patch)
treed6cf7b40e5662983fd3132630417aa91a1a35c15 /ui/static/js
parentc926498d3d12f4e59c5fe0cd40a77c42d15c30b9 (diff)
Add service worker to cache feed icons
Diffstat (limited to 'ui/static/js')
-rw-r--r--ui/static/js/bootstrap.js7
-rw-r--r--ui/static/js/sw.js14
2 files changed, 21 insertions, 0 deletions
diff --git a/ui/static/js/bootstrap.js b/ui/static/js/bootstrap.js
index 98ad635..bd3b09e 100644
--- a/ui/static/js/bootstrap.js
+++ b/ui/static/js/bootstrap.js
@@ -71,4 +71,11 @@ document.addEventListener("DOMContentLoaded", function() {
mouseHandler.onClick(".logo", () => menuHandler.toggleMainMenu());
mouseHandler.onClick(".header nav li", (event) => menuHandler.clickMenuListItem(event));
}
+
+ if ("serviceWorker" in navigator) {
+ let scriptElement = document.getElementById("service-worker-script");
+ if (scriptElement) {
+ navigator.serviceWorker.register(scriptElement.src);
+ }
+ }
});
diff --git a/ui/static/js/sw.js b/ui/static/js/sw.js
new file mode 100644
index 0000000..8e32fcb
--- /dev/null
+++ b/ui/static/js/sw.js
@@ -0,0 +1,14 @@
+self.addEventListener("fetch", (event) => {
+ if (event.request.url.includes("/feed/icon/")) {
+ event.respondWith(
+ caches.open("feed_icons").then((cache) => {
+ return cache.match(event.request).then((response) => {
+ return response || fetch(event.request).then((response) => {
+ cache.put(event.request, response.clone());
+ return response;
+ });
+ });
+ })
+ );
+ }
+});