Фон: У меня есть HTML-страница, которая позволяет вам развернуть определенный контент. Поскольку для такого расширения нужно загружать только небольшие части страницы, это делается с помощью JavaScript, а не путем перехода на новую страницу URL/HTML. Тем не менее, в качестве бонуса пользователь может PermaLink таких расширенных участков, то есть отправить кому-нибудь в URL, какУдалить фрагмент в URL-адресе с ошибкой JavaScript, вызвав перезагрузку страницы
и имеют категорию «Foobar» открыт сразу же для этого другого пользователя. Это работает с использованием parent.location.hash = 'foobar', так что часть в порядке.
Теперь вопрос: Когда пользователь закрывает такую категорию на странице, я хочу очистить фрагмент URL вновь, то есть превратить http://example.com/#foobar в http://example.com/ для обновления дисплея постоянной ссылки. Однако при использовании parent.location.hash = ''
происходит перезагрузка всей страницы (например, в Firefox 3), чего я бы хотел избежать. Использование window.location.href = '/#'
не приведет к перезагрузке страницы, но оставляет URL-адрес несколько неуловимого вида «#». Итак, есть ли способ в популярных браузерах JavaScript - удалить привязку URL, включая знак «#», не вызывая обновление страницы?
Это [связанный вопрос] (http://stackoverflow.com/questions/3009380/whats-the-shebang-hashbang-in-facebook-and-new-twitter-urls-for) является интересным для чтения , – 2011-05-23 09:42:27