Я работаю над сценарием jquery, чтобы сохранить содержимое в истории, чтобы я мог вернуться на предыдущую и следующую страницы. У меня проблема с моим кодом, потому что он не будет сохранять html-контент, так как он только сохранит URL-адрес и изменит URL-адрес.
Вот код:
$(function() {
$(window).on('hashchange', function(e) {
e.preventDefault();
var hash = window.location.hash;
var mailfolder = hash.split('/')[0].replace('#', '');
var encryption = '';
$(window).scrollTop(0);
if (window.location.href.indexOf('/') > -1) {
encryption = hash.split('/')[2];
if (typeof encryption === 'undefined' | encryption === '')
{
encryption = hash.split('/')[1];
}
}
if (mailfolder !== 'search')
{
if (window.location.href.indexOf('#inbox'+'/'+encryption) > -1) {
$("#opt_selectall").hide();
$("#opt_refresh").hide();
$(".bottom_space").hide();
$(".emailMessages").show();
$(".emailBodyShowUp").show();
$(".lg-side").css("overflow-y", "hidden");
$(".emailMessages").scrollTop(0);
}
}
else if (window.location.href.indexOf('#'+mailfolder) > -1) {
if($('.tbody_maillist tr').length > 0) {
$(".bottom_space").show();
$(".emailMessages").hide();
$(".emailBodyShowUp").hide();
$("#opt_selectall").show();
$("#opt_refresh").show();
$("#next_prevButton").show();
$('.tbody_maillist').show();
mailbox_files = '';
}
}
}
function inbox() {
var title = $(this).text();
var html = document.body.innerHTML;
stateData = {
content: html,
title: title,
path: window.location.href,
scrollTop: 0
};
if (window.location.href.indexOf('#inbox') > -1) {
window.history.pushState(stateData, title, 'http://example.com/#inbox');
}
$(window).on('popstate', function(e) {
if (e.state) {
$("body").html(e.state.html);
$("title").html(e.state.title);
}
});
У меня естьпопробовал это:
var html = $('body').html();
Это все еще не позволяет мне сохранять html-содержимое в истории, так как оно будет пустым, когда я нажму кнопку назад в браузере. Я хочу сохранить содержимое HTML в истории, так как мне не нужно обновлять или перезагружать страницу, когда я нажимаю кнопку возврата в браузере.
Можете ли вы показать мне пример того, как я могу сохранитьСодержимое HTML в истории, чтобы я мог видеть его, когда нажимал на кнопку «Назад» в браузере?
Спасибо.