Eu sonhei com o chrome (canal de desenvolvimento) implementando uma maneira de atualizar a barra de endereços via javascript (o caminho, não o domínio) sem recarregar a página ou eles realmente fizeram isso.
No entanto, não consigo encontrar o artigo que acho que li.
Estou louco ou existe uma maneira de fazer isso (no Chrome)?
ps Não estou falando de window.location.hash, et al. Se o exposto acima, a resposta a esta pergunta será falsa.
javascript
ajax
google-chrome
David Murdoch
fonte
fonte
Respostas:
Agora você pode fazer isso na maioria dos navegadores "modernos"!
Aqui está o artigo original que li (postado em 10 de julho de 2010): HTML5: Alterando a URL do navegador sem atualizar a página .
Para uma análise mais aprofundada do pushState / replaceState / popstate (também conhecido como HTML5 History API), consulte os documentos MDN .
TL; DR, você pode fazer isso:
Veja minha resposta para Modificar o URL sem recarregar a página para obter instruções básicas.
fonte
../new-url
ou../../new-url
eles parecem fazer o que você esperaria no Chrome, pelo menos..Alterando apenas o que está depois do hash - navegadores antigos
Alterando o URL completo. Chrome, Firefox, IE10 +
A descrição acima adicionará uma nova entrada ao histórico, para que você possa pressionar o botão Voltar para retornar ao estado anterior. Para alterar o URL no local sem adicionar uma nova entrada ao histórico, use
Tente executá-los no console agora!
fonte
replaceState
era exatamente o que eu precisava, obrigado por expandir a resposta original.history.replaceState
adicionar ao histórico em ff 66.0b1A atualização da Davids responde até mesmo para detectar navegadores que não oferecem suporte ao pushstate:
fonte
fonte