HTML5 уже довольно давно бойко шагает по миру и сегодня я расскажу ещё один занимательный трюк, как не перезагружая саму страницу поменять URL в адресной строке (заметьте, без применения #, всё по взрослому). Очень удобная штука, например, для построения грамотного AJAX интерфейса.
// Нам в помощь приходит History API:
window.history.pushState('', '', 'new_url/');
// Вполне резонный вопрос: а как отловить это изменение, чтобы обработать?
window.onpopstate = function(event) {
console.log(location.pathname);
console.log(document.location);
console.log(event.state);
};