diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/init.ts | 2 | ||||
| -rw-r--r-- | src/client/router.ts | 13 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/client/init.ts b/src/client/init.ts index ef2cf9a49a..6cd7734fd6 100644 --- a/src/client/init.ts +++ b/src/client/init.ts @@ -54,6 +54,8 @@ if (localStorage.getItem('kyoppie') === 'yuppie') { location.reload(true); } +window.history.scrollRestoration = 'manual'; + if (localStorage.getItem('theme') == null) { applyTheme(lightTheme); } diff --git a/src/client/router.ts b/src/client/router.ts index 1f0dac3a41..816f72595a 100644 --- a/src/client/router.ts +++ b/src/client/router.ts @@ -52,10 +52,13 @@ export const router = new VueRouter({ ], // なんかバギー scrollBehavior(to, from, savedPosition) { - if (savedPosition) { - return savedPosition; - } else { - return { x: 0, y: 0 }; - } + setTimeout(() => { + if (savedPosition) { + window.scroll({ top: savedPosition.y, behavior: 'instant' }); + } else { + window.scroll({ top: 0, behavior: 'instant' }); + } + }, 1000); + return; } }); |