Cambia l’URL nella barra degli indirizzi del browser senza ricaricare la pagina esistente

Possibile duplicato:
Modifica l’URL senza ricaricare la pagina

Sto cercando un modo per rendere funzionali i miei collegamenti interni usando le mie animazioni javascript correnti, senza che la pagina si ricarichi quando si fa clic su di essi, ma vorrei che l’URL si aggiornasse nel browser .

Molti siti Web fanno questo, ecco un buon esempio: http://grooveshark.com/#!/search?q=adf

Come ottengono l’URL da aggiornare senza ricaricare la pagina?


Più dettagli:

Attualmente un link sulla mia pagina è simile a About Us , questo ti porta a

tramite javascript.

Il javascript assomiglia a qualcosa:

 $("#navigation a").click(function(e){ animate(..scroll to section..); e.preventDefault(); // <========== }); 

Credo che “e.preventDefault ()” stia causando l’aggiornamento dell’URL, ma come faccio a impedire al browser di ricaricare la pagina quando viene modificato l’URL?

Come fanno altri siti web? Come si chiama questo metodo (quindi posso approfondirlo)?

Grazie.

Ecco una domanda simile .

Ecco un esempio:

 function processAjaxData(response, urlPath){ document.getElementById("content").innerHTML = response.html; document.title = response.pageTitle; window.history.pushState( { "html":response.html, "pageTitle":response.pageTitle }, "", urlPath ); } 

A me sembra che tutto sia finito con AJAX. Il #! nell’URL sta inducendo il browser a interpretare il resto dell’URL come un’ancora – gli ancore non causano ricariche di pagina (infatti, il server non vedrà mai quale ancoraggio è attivo il browser nel corso di una normale richiesta HTTP) . Quando l’URL cambia, Javascript subentra, ispeziona la querystring e carica qualsiasi cosa sia appropriata dal server usando i servizi web.

Non l’ho guardato troppo in profondità, ma è quello che mi sembra.