HTML5 History API - храните div в pushState
Есть две вещи, которые являются динамическими: навигационный div и контентный div. Вместо того, чтобы хранить оба, мой план состоит в том, чтобы сохранить все тело div в первом параметре pushState
,
Как правильно хранить данные? Я попробовал следующее, какие продукты ошибка Uncaught DataCloneError: Failed to execute 'pushState' on 'History': An object could not be cloned.
:
history.pushState($('.body-content'), newTitle, newURL);
Вот как он будет обрабатывать popstate, не проверено:
window.onpopstate = function (event) {
updateContent(event.state);
};
function updateContent(data) {
if (data == null)
return;
$('.body-content').html(data);
}
редактировать: добавление .html()
чтобы селектор jQuery работал:
history.pushState($('.body-content').html(), 'testTitle', getURL(newQuery));
Но popstates все еще несовместимы, в настоящее время изучая это дальше. Я подозреваю, что данные восстанавливаются до неправильного уровня в гнезде div, и карта Leaflet будет иметь устаревшие переменные, которые также должны были быть сохранены в pushState.