Quando clico em um link com âncora no desktop, ele rola até o local. No entanto, no mobile (Android, FF e Chrome), a âncora é removida da URL, então não há rolagem até aquele ponto.
O que estou tentando fazer:
Temos um longo documento de diretrizes e FAQ que precisa vincular a títulos. Como o Discourse remove os parâmetros id, criei um componente de tema simples que usa atributos de dados personalizados no documento de destino e escuta âncoras na URL para rolar até o elemento com o atributo de dados correspondente.
Funciona no desktop!
No entanto, no mobile, as âncoras parecem ser removidas, de modo que, ao chegar na página de destino, não há rolagem até o elemento correto. E, claro, com um documento longo, é no mobile que você mais precisa dessa navegação.
Agora, percebo que as âncoras geradas pelo componente Índice funcionam quando abertas em uma nova janela. Elas não são removidas da URL e o navegador rola até o local correto.
Como posso fazer isso funcionar?
(Desabafo: Tem sido realmente frustrante tentar fazer algo tão básico e fundamental para o HTML, ou seja, ter âncoras e vincular a elas. Percebo que, como as postagens são conteúdo criado por usuários, há questões de segurança. Mas parece que as soluções implementadas para proteger contra abusos são muito grosseiras e tornam algo muito simples muito complicado. Dito isso, meu site nunca foi invadido, então acho que isso é algo.)