mirror of
https://github.com/withastro/astro.git
synced 2025-01-06 22:10:10 -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
|
to.href
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
history.scrollRestoration = 'manual';
|
|
||||||
}
|
}
|
||||||
// now we are on the new page for non-history navigations!
|
// now we are on the new page for non-history navigations!
|
||||||
// (with history navigation page change happens before popstate is fired)
|
// (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 ...
|
// because we are already on the target page ...
|
||||||
// ... what comes next is a intra-page navigation
|
// ... what comes next is a intra-page navigation
|
||||||
// that won't reload the page but instead scroll to the fragment
|
// that won't reload the page but instead scroll to the fragment
|
||||||
|
history.scrollRestoration = 'auto';
|
||||||
location.href = to.href;
|
location.href = to.href;
|
||||||
} else {
|
} else {
|
||||||
if (!scrolledToTop) {
|
if (!scrolledToTop) {
|
||||||
scrollTo({ left: 0, top: 0, behavior: 'instant' });
|
scrollTo({ left: 0, top: 0, behavior: 'instant' });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
history.scrollRestoration = 'manual';
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue