Ecco un aggiornamento 2018 che è un po 'più dinamico .
Se desideri inserire l'URL, tirare l'ancora dall'URL e spostare la pagina su quell'ancora, puoi eseguire questo javascript al caricamento della pagina.
if (window.location.href.indexOf('#') == 0) {
let hash = window.location.href.split('#')[1];
let hashTop = document.querySelector(`#${hash}`).offsetTop;
window.scrollTop = hashTop;
}
Anche in questo modo è un po 'più conciso.
if (location.hash) {
let target = location.hash;
window.scrollTop = document.querySelector(target).offsetTop;
}
Se non si sta compilando ES6 con Babel, basta cambiare la parola chiave let
-var
. Questo funziona anche per WordPress, che aggiungerà una barra nell'URL prima dell'ancora.
fonte
2018-01-16 17:11:08
Grazie mille! Avevo bisogno di un modo per impostare un'ancora nell'URL di Twig per andare in un punto specifico della pagina se viene lanciata un'eccezione. Non si può fare, quindi, ho inserito una variabile di ramoscello nel tag body e l'ho impostata su una stringa vuota. Quindi, se viene lanciata l'eccezione, popola la variabile stringa con javascript, come mostrato nella risposta (window.location.hash = "foo"), e la aggiungo al rendering della pagina:
. – paidforbychrist