For fragment redirects we're currently using window.location.hash to update the fragment when the user visits the page.
This has the undesired consequence of creating two entries in the history in Firefox. So hitting the back button once just leaves you on the same page.
Instead of using location.hash we should consider using window.history.replaceState and element.scrollIntoView if they are both available.
Using replaceState will update the url by replacing the current history entry instead of creating a new one. It will disable the implicit jump so we'll have to use scrollIntoView to create the same effect.