Я слегка предвзят, так как я являюсь автором Davis.js, но я думаю, что использование библиотеки маршрутизации, такой как Davis.js или Sammy.js, является самым простым способом сделать это.Обе библиотеки имеют код для управления тем, что происходит при нажатии на ссылку или при использовании кнопок «назад» и «вперед» для перемещения между состояниями и всеми другими особенностями API истории.
Если вы хотите что-то действительно простое, тогда вы можетекодируйте что-нибудь самостоятельно, хотя это может занять немного больше времени, чем просто использование библиотеки.
Вот примерное представление о том, что вы можете сделать:
$("a").click(function (e) {
e.preventDefault()
var link = $(this)
history.pushState({pushedByMe: true}, link.attr('title'), link.attr('href'))
yourCodeHere()
})
history.onpopstate = function (event) {
if (!event.state.pushedByMe) return
yourCodeHere()
}