Tengo una pregunta que se encontrará con mucha frecuencia. El problema es que en ninguna parte se puede encontrar una solución explícita.
Tengo dos problemas con respecto a las anclas.
El objetivo principal debe ser obtener una URL limpia y agradable sin ningún hash en ella mientras se utilizan anclas para saltar en una página.
Entonces la estructura de los anclajes es:
<ul>
<li><a href="#one">One</a></li>
<li><a href="#two">Two</a></li>
<li><a href="#three">Three</a></li>
</ul>
<div class="wrap">
<a name="one">text 1</a>
<a name="two">text 2</a>
<a name="three" class="box">text 3</a>
</div>
De acuerdo, si hace clic en uno de los enlaces, la URL cambiará automáticamente a
www.dominio.com/página#1
Al final esto debería ser solo:
www.dominio.com/página
Hasta aquí todo bien. Ahora, la segunda cosa es que cuando busques en Internet ese problema, encontrarás javascript
una solución.
He encontrado esta función:
function jumpto(anchor){
window.location.href = "#"+anchor;
}
y llamando a esa función con:
<a onclick="jumpto('one');">One</a>
como será igual antes Agregará el hash a la url. También agregué
<a onclick="jumpto('one'); return false;">
sin éxito. Entonces, si hay alguien que pueda decirme cómo resolver esto, realmente lo agradecería.
Muchas gracias.
window.scrollTo
o el jQuery helper correspondiente: stackoverflow.com/questions/6677035/jquery-scroll-to-element o stackoverflow.com/questions/500336/…
location.hash=''
, los #
restos permanecen allí.
window.location.hash=''
.