diff options
Diffstat (limited to 'src/web/assets')
| -rw-r--r-- | src/web/assets/404.js | 4 | ||||
| -rw-r--r-- | src/web/assets/recover.html | 34 |
2 files changed, 34 insertions, 4 deletions
diff --git a/src/web/assets/404.js b/src/web/assets/404.js index 285704d113..46fd004f14 100644 --- a/src/web/assets/404.js +++ b/src/web/assets/404.js @@ -5,10 +5,6 @@ if (yn) { // Clear cache (serive worker) try { navigator.serviceWorker.controller.postMessage('clear'); - - navigator.serviceWorker.getRegistrations().then(registrations => { - registrations.forEach(registration => registration.unregister()); - }); } catch (e) { console.error(e); } diff --git a/src/web/assets/recover.html b/src/web/assets/recover.html new file mode 100644 index 0000000000..019f57b2e7 --- /dev/null +++ b/src/web/assets/recover.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> + +<html> + <head> + <meta charset="utf-8"> + <title>Misskeyのリカバリ</title> + <script> + + const yn = window.confirm('キャッシュをクリアしますか?\n\nDo you want to clear caches?'); + + if (yn) { + try { + navigator.serviceWorker.controller.postMessage('clear'); + + navigator.serviceWorker.getRegistrations().then(registrations => { + registrations.forEach(registration => registration.unregister()); + }); + + } catch (e) { + console.error(e); + } + + localStorage.setItem('should-refresh', 'true'); + + alert('キャッシュをクリアしました。'); + + location.href = '/'; + } else { + alert('問題が解決しない場合はサーバー管理者までお問い合せください。'); + } + + </script> + </head> +</html> |