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

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

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

<script type="text/javascript">
$(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");
        }
    });
});
</script>

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

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

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

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

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

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