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.

0 ответов

Другие вопросы по тегам