Quando clicco su un link con un’ancora sul desktop, la pagina scorre fino a quel punto. Tuttavia, sui dispositivi mobili (Android, Firefox e Chrome), l’ancora viene rimossa dall’URL, quindi non avviene lo scorrimento verso quella sezione.
Cosa sto cercando di fare:
Abbiamo un lungo documento di linee guida e FAQ che deve contenere link alle intestazioni. Poiché Discourse rimuove i parametri id, ho creato un semplice componente tematico che utilizza attributi dati personalizzati nel documento di destinazione e ascolta le ancore nell’URL per scorrere fino all’elemento con l’attributo dati corrispondente.
Funziona sul desktop!
Tuttavia, sui dispositivi mobili, le ancore sembrano essere rimosse, così che quando si arriva alla pagina di destinazione non avviene lo scorrimento verso l’elemento corretto. E ovviamente, con un documento lungo, è proprio sui dispositivi mobili che questa navigazione è più necessaria.
Ho notato che le ancore generate dal componente Indice funzionano quando le apro in una nuova scheda. Non vengono rimosse dall’URL e il browser scorre fino al punto giusto.
Come posso far funzionare anche il mio caso?
(Sfogo: è stato davvero frustrante cercare di fare qualcosa di così basilare e fondamentale per l’HTML, ovvero usare le ancore e linkare ad esse. Comprendo che, poiché i post sono contenuti creati dagli utenti, ci siano problemi di sicurezza. Ma mi sembra che le soluzioni implementate per proteggersi dagli abusi siano molto grossolane e rendano complicatissimo fare qualcosa di molto semplice. Detto questo, il mio sito non è mai stato violato, quindi immagino che sia un bene.)