В "модерните" браузъри има една готина функционалност която позволява да се смени url адреса чрез javascript без това да предизвиква презареждане или нещо друго. За целта ще използваме новия "onpopstate" event.
Примерна употреба:

 window.history.pushState("object/string", "new state title", "new_url/param:key/");

Повече информация може да се намери в http://www.w3.org/TR/2011/WD-html5-20110113/history.html
и тук