Автор РЭС здесь, найдены ваш вопрос в/r/javascript
По-видимому, Firefox недавно добавил функциональность, чтобы сделать это самостоятельно, но нет «хорошего» способа сделать это, когда браузер не делает этого, сделайте это за вас.
Что такое RES, так это добавить маркер # page = n, где n - номер вашей страницы. Таким образом, в pageload, RES знает, что вы, должно быть, пришли с кнопки «Назад», если уже есть location.hash - к сожалению, это конкретное поведение burbed ctrl-f обнаружилось как в Firefox, так и в Chrome, когда поиск заставил вас прокрутить другая страница (страница = n + 1), потому что hashchange закроет диалог поиска, который раздражает пользователей ...
Итак, теперь RES делает некоторые уродливые и несовершенные гимнастики, чтобы догадаться, прибыл ли вы на страницу через спину кнопка. Каждый раз, когда он загружает новую страницу, он сохраняет это число в sessionStorage (например, localStorage, но локально на вкладке), а при появлении с помощью кнопки «Назад» он запускает запрос на этот номер страницы.
Тем не менее: недавно я тестировал в FF и Chrome, и кажется, что изменения хеша больше не «отменяют» диалог ctrl-f find, поэтому мое предложение будет заключаться в том, что вы используете это. После pageload, если есть хэш, загрузите соответствующие данные, определенные этим хэшем.
Вы можете, если хотите действительно сумасшедший, сохранить фактический HTML-контент в localStorage и перезагрузить его на pageload через кнопку «Назад». Это может быть не самый эффективный способ сделать что-то, и почти наверняка вызовет конфликты с javascript, которые полагаются на DOM, однако, пройдите осторожно!
«Лучшее» решение действительно зависит от того, что именно делает ваш сайт/что этот контент выглядит/ведет себя как.
Как насчет сохранения «статуса» страницы в файле cookie? Например, клиент щелкнул, чтобы отобразить окно входа в систему, затем вы сохраните это действие в файле cookie «login = 1», например, и всякий раз, когда клиент возвращается, вы используете javascript для чтения файла cookie и отображения входа. Хотя я не думаю, что это «лучшее» решение, так как может быть слишком много «вариантов», чтобы позаботиться. – HamZa
Да, файлы cookie и сеанс и localstorage, все хорошие способы сохранения состояния, например параметров, будут перезагружены. Но я вижу, что другие сайты работают без этого. У них нет визуальной задержки, когда я нажимаю кнопку «Назад», даже если вся страница была построена с помощью ajax. Как они это делают? – Madd0g
Возможно, они создают страницу _before_ onload, которая должна быть, когда браузер кэширует HTML. –