2013-05-03 7 views
8

come potevo, o è possibile, per farlo in modo che quando i carichi pagina web, la prima cosa che vi mostra è la parte della pagina, in cui il tag di ancoraggio è che si desidera la persona a vedere prima.Come caricare la pagina su un tag di ancoraggio?

È possibile?

Grazie per tutto l'aiuto in anticipo.

risposta

4

utilizzare JavaScript.

Soluzione 1

Al caricamento del documento, andare alla sezione "hash" o ancora che si desidera

<script type="text/javascript"> 
function load() 
{ 
window.location.hash="mylocation"; 
} 
</script> 

Soluzione 2

Nell'intestazione:

<script type="text/javascript" language="javascript"> 
    function moveWindow(){window.location.hash="mylocation";} 
</script> 

Sul tag body:

<body onload="moveWindow()"> 

E l'ancora:

<a name="mylocation"></a>

+0

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

9

Qualcosa di semplice come questo sarebbe farlo

<body onload=' location.href="#myanchor" '> 
<a id='myanchor' href='#'>anchor text</a> 
1

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.