mirror of
https://github.com/withastro/astro.git
synced 2024-12-16 21:46:22 -05:00
fix scroll restoration issue on webKit browsers (#9186)
* fix scroll restoration issue on webKit browsers * add changeset * Update .changeset/shaggy-socks-glow.md * Update .changeset/shaggy-socks-glow.md Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> --------- Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
This commit is contained in:
parent
04fdc1c613
commit
607542c7cf
2 changed files with 7 additions and 1 deletions
5
.changeset/shaggy-socks-glow.md
Normal file
5
.changeset/shaggy-socks-glow.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
'astro': patch
|
||||
---
|
||||
|
||||
Fixes a view transition issue on webKit browsers that prevented scrolling to #fragments
|
|
@ -194,7 +194,6 @@ const moveToLocation = (to: URL, from: URL, options: Options, historyState?: Sta
|
|||
to.href
|
||||
);
|
||||
}
|
||||
history.scrollRestoration = 'manual';
|
||||
}
|
||||
// now we are on the new page for non-history navigations!
|
||||
// (with history navigation page change happens before popstate is fired)
|
||||
|
@ -213,12 +212,14 @@ const moveToLocation = (to: URL, from: URL, options: Options, historyState?: Sta
|
|||
// because we are already on the target page ...
|
||||
// ... what comes next is a intra-page navigation
|
||||
// that won't reload the page but instead scroll to the fragment
|
||||
history.scrollRestoration = 'auto';
|
||||
location.href = to.href;
|
||||
} else {
|
||||
if (!scrolledToTop) {
|
||||
scrollTo({ left: 0, top: 0, behavior: 'instant' });
|
||||
}
|
||||
}
|
||||
history.scrollRestoration = 'manual';
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue