-
-
Notifications
You must be signed in to change notification settings - Fork 10.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: Scroll Restoration not working on page refresh in mobile safari #9463
Labels
Comments
Here is the codesandbox |
🤖 Hello there, We just published version Thanks! |
brophdawg11
added
the
awaiting release
This issue have been fixed and will be released soon
label
Jan 24, 2023
🤖 Hello there, We just published version Thanks! |
brophdawg11
removed
the
awaiting release
This issue have been fixed and will be released soon
label
Jan 26, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What version of React Router are you using?
6.4.2
Steps to Reproduce
Scroll position is not maintained in mobile safari browsers upon reload of a page. This is due to using the beforeunload event which is not supported by ios safari
By changing the above code to use the visibilitychange event and checking
document.visibilityState === 'hidden'
it seems to work as intended in safariReference material
https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilitychange_event
https://www.igvita.com/2015/11/20/dont-lose-user-and-app-state-use-page-visibility/
https://levelup.gitconnected.com/how-to-send-an-asynchronous-request-at-the-end-of-a-page-session-90bf7229448c
https://tech.trivago.com/post/2020-11-17-exploringthepagevisibilityapifordetectin/
Expected Behavior
Expect that when reloading a page the scroll position will be maintained in ios safari
Actual Behavior
The scroll position goes to 0 since it was not captured.
The text was updated successfully, but these errors were encountered: