Для корректной работы кнопки "назад" в браузере после AJAX загрузки контента, можно использовать метод history.pushState() для добавления состояния в историю браузера. Это позволит сохранить состояние контента и вертикальную прокрутку при возвращении на страницу из кеша.
Пример использования history.pushState():
```javascript
history.pushState({content: 'someContent', scrollPosition: window.scrollY}, '', '#someContent');
```
Таким образом, при загрузке нового контента через AJAX, добавляйте запись в историю браузера с текущим состоянием контента и вертикальной прокруткой.
Для восстановления состояния при возврате на страницу из кеша, используйте событие popstate:
```javascript
window.onpopstate = function(event) {
if (event.state) {
document.getElementById('content').innerHTML = event.state.content;
window.scrollTo(0, event.state.scrollPosition);
}
};
```
Этот код будет вызываться при нажатии кнопки "назад" в браузере и восстановит состояние страницы с сохраненным контентом и вертикальной прокруткой.
Таким образом, использование history.pushState() и события popstate позволит сохранить состояние контента и вертикальной прокрутки при возвращении на страницу из кеша после AJAX загрузки.