Я создаю веб-приложение, которое использует AJAX и историю HTML5 (с запасным вариантом для старых браузеров, history.js < / а>).
Только часть моего приложения загружается через фоновый javascript (часть, которая довольно тяжелая и будет использоваться большую часть времени). На другие страницы можно попасть по обычным ссылкам, и при загрузке этих страниц произойдет полная перезагрузка страницы.
Когда я немного перемещался по динамической части (URL-адрес изменяется и соответствует отображаемому контенту), оставил его через обычную ссылку, а затем нажал кнопку возврата в браузере, происходит что-то странное: только та часть, которая была загружена в последний XHR (в моем случае div, содержащий некоторые данные) отображается без макета и css. Когда я смотрю на источник (в Chromium и FF + Firebug), DOM состоит только из указанного div.
Я ожидал, что браузер либо кэширует DOM и другую информацию, чтобы он мог восстановить предыдущую страницу, либо перезагрузит последний URL-адрес (страница будет отображаться, как ожидалось, потому что, если она не загружена через XHR, она будет отображаться в макете). Я пытался установить заголовки управления кешем в ответ на XHR, но это не помогло.
Я собрал минимальный пример: http://moserei.de/html5_history/
Спасибо за помощь!