There are 2 big bugs with scroll position in Ionic:
Bugs
- When going back, the previous page always starts at top, instead of remembering the old scroll position
- When going to a next page, the next page scrolls down to the same scroll position as the previous page on firefox. This makes it nearly unusable on Firefox. Its the same for mobile and for desktop.
Workarounds
So for the 1st one, there is a workaround, but its really very annoying to use it, especially on big application. For each single page, we have to add scroll listener (bad performance) and store the scroll position. Then, on ionviewdidenter, we have to manually scroll back down to this position.
For the 2nd one, there has been a workaround for ionic v4, which stopped working with v5: To scroll to 0 in ionviewwillenter. Firefox is 10% marketshare on desktop, so this is quite bad.
Problems with Workarounds
Ionic itself says on “onPageScroll”: Because of performance reasons, ionScroll events are disabled by default.
So its bad to have a workaround that decreases the performance on every single page.
Github ticket
I opened a ticket on Github a while ago, but after one initial response it seems to be ignored.
If you too have this problem, please support the ticket by adding a comment: