У меня небольшая проблема с экспериментом с событием history.pushstate. Я настроил его так, чтобы URL-адрес страницы был фактическим URL-адресом страницы, загруженной через AJAX, и это отлично работает.
Я так понял, что он должен автоматически создавать историю, загружая ранее загруженные страницы. к сожалению, этого не происходит, и когда я нажимаю «Назад» или «Вперед», URL-адрес меняется, но не страница. Вы можете помочь мне? Вот мой упрощенный код:
function hijackLinks() {
$('a').live("click", function (e) {
e.preventDefault();
loadPage(e.target.href);
direction = $(this).attr('class');
});
}
function loadPage(url) {
if (url === undefined) {
$('body').load('url', 'header:first,#content,footer', hijackLinks);
} else {
$.get(url, function (data) {
$('body').append(data);
window.history.pushState(url, url, url);
if (direction === "leftnav") {
//DO STUFF
}
if (direction !== "leftnav") {
//DO STUFF
}
setTimeout(function () {
//DO STUFF
},1000);
});
}
}
$(document).ready(function () {
loadPage();
});