У меня есть 3 ссылки, 2 без данных pushstate 1. Ссылка "Пользователи + теги" содержит данные, темы не входят. Если я нажму кнопку "Пользователи", затем "Темы", то "Назад" или "Теги", затем "Темы", а затем вернитесь, он отлично работает если я нажму кнопку "Пользователи", то теги, а затем нажмите "назад", он загрузит только последнюю pushstate (теги). если я нажимаю теги, тогда пользователи затем возвращают его, просто повторно используют pushstate для пользователей. если я иду теги → пользователи → темы, назад будут goto пользователи, снова будут также пользователи?
$('#changetousers').click(function () {
$('#loadingAjaxs').show(); $('#flubestext').hide();
$('#contentwrap').load('@Url.Action("FollowingUsersDetail", "Following", new {@ajax = "yes"})', function () { $('#loadingAjaxs').hide(); $('#flubestext').show(); window.history.pushState({ "page": "followingusers" }, 'title1', '/users/'); window.onpopstate = function (e) { document.getElementById('changetousers').click(); };
})
});
$('#changetotags').click(function () {
$('#loadingAjaxs').show(); $('#flubestext').hide();
$('#contentwrap').load('@Url.Action("FollowingTagsDetail", "Following", new {@ajax = "yes"})', function () { $('#loadingAjaxs').hide(); $('#flubestext').show(); window.history.pushState({ "page": "followingtags" }, 'title2', '/tags/'); window.onpopstate = function (e) { document.getElementById('changetotags').click(); }; })
});
$('#changetofavorites').click(function () {
$('#loadingAjaxs').show(); $('#flubestext').hide();
$('#contentwrap').load('@Url.Action("FollowingTopicsDetail", "Following", new {@ajax = "yes"})', function () { $('#loadingAjaxs').hide(); $('#flubestext').show(); window.history.pushState(null, 'title', '/favorites/'); })
});
Я думаю, что вы вызываете pushState
даже пользователь щелкает назад, поэтому вы не можете перейти в предыдущее состояние. Это должно работать:
function loadUserDetails() {
$('#loadingAjaxs').show();
$('#flubestext').hide();
$('#contentwrap').load(
'@Url.Action("FollowingUsersDetail", "Following", new {@ajax = "yes"})',
function () {
$('#loadingAjaxs').hide();
$('#flubestext').show();
});
}
$('#changetousers').click(function () {
loadUserDetails();
window.history.pushState({ "page": "followingusers" }, 'title1', '/users/');
window.onpopstate = function (e) { loadUserDetails(); };
});