Fondo: Tengo una página HTML que le permite expandir cierto contenido. Como solo se deben cargar pequeñas porciones de la página para dicha expansión, se realiza a través de JavaScript y no a través de una nueva página URL/HTML. Sin embargo, como un bono, el usuario es capaz de permalink a dichas secciones ampliadas, es decir, enviar a otra persona una URL comoEliminar fragmento en URL con JavaScript sin causar recargo de página
y tienen abrirse la categoría "foobar" inmediatamente para que otro usuario. Esto funciona usando parent.location.hash = 'foobar', entonces esa parte está bien.
Ahora la pregunta: Cuando el usuario cierra una categoría, en la página, quiero vaciar el fragmento de URL de nuevo, es decir, convertir http://example.com/#foobar en http://example.com/ para actualizar la pantalla enlace permanente. Sin embargo, hacerlo usando parent.location.hash = ''
causa una recarga de toda la página (en Firefox 3, por ejemplo), que me gustaría evitar. El uso de window.location.href = '/#'
no activará la recarga de una página, pero deja el signo "#" de aspecto un tanto desagradable en la URL. Entonces, ¿hay alguna forma en los navegadores populares de eliminar JavaScript un anclaje de URL que incluya el signo "#" sin activar una actualización de página?
Este [pregunta relacionada] (http://stackoverflow.com/questions/3009380/whats-the-shebang-hashbang-in-facebook-and-new-twitter-urls-for) es una lectura interesante . –