Как я могу заменить хэш URL-адреса окна другим ответом?
Я пытаюсь изменить хэшированный URL (документ.местоположение.hash) с помощью метода replace, но он не работает.
$(function(){
var anchor = document.location.hash;
//this returns me a string value like '#categories'
$('span').click(function(){
$(window).attr('url').replace(anchor,'#food');
//try to change current url.hash '#categories'
//with another string, I stucked here.
});
});
Я не хочу изменять/обновлять страницу, Я просто хочу заменить URL без каких-либо ответов.
примечание: Я не хочу решать это с помощью решения href="#food".
2 ответов
использовать location
или window.location
вместо document.location
поскольку последний является нестандартным.
window.location.hash = '#food';
это заменит хэш URL-адреса значением, которое вы для него установили.
Вы можете предпочесть ответ этот вопрос.
разница в том, что с history.replaceState()
вы не прокручиваете якорь, только заменяете его на панели навигации. Он поддерживается всеми основными браузерами, источник.
history.replaceState(undefined, undefined, "#hash_value")