diff options
author | Andrew Dolgov <[email protected]> | 2017-07-26 13:54:30 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2017-07-26 13:54:30 +0300 |
commit | 6ee7389a0a966feb7c347b944d52a4a420d4dcf6 (patch) | |
tree | f9617f8de59c95521986f4c55a8e0b7759db2c7b | |
parent | 23d5d2a4762ee01f9bddf8d9e94dc3d3912a9148 (diff) |
add a cache refresh link to index
-rw-r--r-- | index.php | 15 | ||||
-rw-r--r-- | js/index.js | 6 |
2 files changed, 16 insertions, 5 deletions
@@ -131,9 +131,13 @@ .then(function() { console.log("service worker registered"); }); - /*$(window).on('offline', function() { - window.location.reload(); - });*/ + + navigator.serviceWorker.addEventListener('message', function(event) { + // not used yet + if (event.data == 'client-reload') { + window.location.reload(); + } + }); } mark_offline_books(); @@ -375,6 +379,11 @@ <?php } ?> </ul> + <p class="text-center small"> + <a class="text-muted" href="#" onclick="return cache_refresh(true)">Refresh cache</a> + </p> + + </div> </body> </html> diff --git a/js/index.js b/js/index.js index 4996d1a..301f619 100644 --- a/js/index.js +++ b/js/index.js @@ -1,9 +1,9 @@ -function cache_refresh() { +function cache_refresh(force) { if ('serviceWorker' in navigator) { localforage.getItem("epube.cache-timestamp").then(function(stamp) { var ts = parseInt(new Date().getTime()/1000); - if (!stamp || ts - stamp > 3600) { + if (force || !stamp || ts - stamp > 3600) { console.log('asking worker to refresh cache'); navigator.serviceWorker.controller.postMessage("refresh-cache"); localforage.setItem("epube.cache-timestamp", ts); @@ -11,6 +11,8 @@ function cache_refresh() { }); } + + return false; } function toggle_fav(elem) { |