Хэши/якоря удаляются из URL на мобильных устройствах. Как это исправить?

Когда я нажимаю на ссылку с якорем на рабочем столе, страница прокручивается к нужному месту. Однако на мобильных устройствах (Android, Firefox и Chrome) якорь удаляется из URL, поэтому прокрутки не происходит.

Что я пытаюсь сделать:

У нас есть длинный документ с инструкциями и FAQ, в котором необходимо использовать ссылки на заголовки. Поскольку Discourse удаляет параметры id, я создал простой компонент темы, который использует пользовательские атрибуты данных в целевом документе и отслеживает якоря в URL для прокрутки к элементу с соответствующим атрибутом.

На рабочем столе это работает!

Однако на мобильных устройствах якоря, похоже, удаляются, так что при переходе на целевую страницу прокрутки к нужному элементу не происходит. И, конечно, именно на мобильных устройствах, где документ длинный, такая навигация нужна больше всего.

При этом я заметил, что якоря, генерируемые компонентом «Содержание», работают при открытии в новой вкладке. Они не удаляются из URL, и браузер прокручивается в нужное место.

Как мне заставить это работать?


(Жалоба: Очень раздражает, что попытка реализовать такую базовую и фундаментальную для HTML функцию, как якоря и ссылки на них, оказывается такой сложной. Я понимаю, что из-за того, что посты создаются пользователями, возникают вопросы безопасности. Но кажется, что решения, реализованные для защиты от злоупотреблений, слишком грубые и делают что-то очень простое крайне запутанным. Тем не менее, мой сайт никогда не взламывали, так что это, наверное, кое-что.)

Небольшое обновление…

Кто-то предложил использовать вместо этого параметры запроса. Похоже, что на мобильных устройствах они не удаляются. Но удивительно, что на настольных компьютерах они удаляются.