Ho una pagina con due schede che voglio essere in grado di passare con Javascript, ma anche impostare l'ancora (ad esempio page.html#tab1
) nell'URL per il segnalibro/collegamento.Attivare l'ancoraggio dell'URL ma non scorrere fino ad esso?
Per impostazione predefinita, il contenuto della scheda si trova in due div, uno sotto l'altro, e il tag di ancoraggio scorrerà a quello corretto, con JS disabilitato.
Con JS abilitato, le classi CSS vengono applicate per farle funzionare come schede. Ogni scheda contiene collegamenti a ciascun ancoraggio, ma quando si fa clic per cambiare scheda, la pagina scorre fino alla scheda. Se restituisco false dalla funzione onclick, l'URL non cambia per includere l'ancora.
Come faccio a modificare l'URL del browser in page.html#tab1
ma non scorrere fino a #tab1
??
Funziona, e ho appena scoperto che è ciò che fa validator.w3.org. Alla fine ho deciso di rottamare facendo in modo che l'ancora salisse al posto giusto nei browser non JS poiché i due div non sono molto alti e, come dici tu, i collegamenti dagli utenti abilitati a JS per gli utenti non JS lo interrompono. – DisgruntledGoat