Uso location.hash
para desplazarme a algún lugar de mi página. Funciona bien cuando la ubicación no tiene hash. Pero no funciona si la ubicación ya tiene el mismo valor hash.location.hash solo tiene efecto una vez en cromo y safari
Por ejemplo, location.hash = 'a';
despliega en <div id="a"></div>
. Ahora location.href
será como http://www.example.com/test.html#a
. Y si location.hash = 'a';
se activa nuevamente, la ventana no se desplazará. Esto solo tiene lugar en Chrome y Safari.
Encontré una solución en Scrolling a page using location.hash in Safari, pero no quiero agregar una etiqueta innecesaria.
Y también he intentado location.href = '#a'
. Eso funciona bien, pero me temo que causará la recarga de la página. ¿Alguien tiene mejores ideas?