JavaScript - событие bfcache / pageshow - event.persisted всегда имеет значение false?

В стандартном веб-приложении Java / SpringMVC / JSP / jQuery яЯ пытаюсь обнаружить "Назад» (или history.go (-1)), чтобы обновить (AJAX) содержимое итогового компонента / панели, когда я вернусь на страницу (где мы можем изменить внутренние данные, отображаемые компонентом итога).

Я попробовал следующее в JavaScript (после нескольких сообщений на StackExchange о том, как этого добиться):


$(document).ready(function() {
    window.onpageshow = function(event) {
        console.log("Event:");
        console.dir(event);
        if (event.persisted) {
            alert("non-jQuery - back to page - loaded from bfcache");
        } else {
            alert("non-jQuery - loaded page from server");
        }
    };
    $(window).on("pageshow", function(event){
        console.log("Event:");
        console.dir(event);
        if (event.originalEvent.persisted) {
            alert("jquery - back to page - loaded from bfcache");
        } else {
            alert("jquery - loaded page from server");
        }
    });
});

Я использую OpenSUSE Linux и пробовал это с FireFox и Chrome (последние версии), но каждый разpersisted атрибут установлен вfalse (Я вижу это в консоли JavaScript и по всплывающим предупреждениям из приведенного выше кода). Я имею в виду каждый раз, независимо от того, был ли он загружен с сервера или снова показан с помощью кнопки «Назад» (илиBack» ссылка на сайт).

Я намеревался сделать AJAX-вызов для перезагрузки итогового компонента / панели с обновленными данными с сервера, если страница отображалась с помощью кнопки «Назад» илиhistory.go(-1) вызов.

Я также попытался установить обработчик выгрузки (который ничего не делает), чтобы предотвратить помещение страницы в bfcache, но он по-прежнему показывает версию с кэшированием bf иevent.persisted (или жеevent.originalEvent.persisted) установлен в.false

Правильно ли управляется это свойство в Linux? Я делаю что-то глупое в моем коде? Любая помощь или идеи будут высоко ценится, спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос