Как кэшировать страницу, загруженную через ajax, с URL-адресом pushState, чтобы избежать перезагрузки страницы с сервера? Например,
страница 1: /foo.html. нажмите кнопку, отправьте запрос AJAX, получите ответ и обновите страницу. История pushState как новая страница /bar.html.
history.pushState({}, '','/bar.html');
На этом этапе мы хотим, чтобы браузер кешировал текущую страницу как /bar.html.
window.onpopstate = function(event) {
// browser is not loading page automatically for back/forward
if (event.state)
location.reload();
};
При нажатии кнопки назад / вперед файл /bar.html должен быть загружен из кеша браузера. Но он снова загружается с сервера. Как этого добиться? то есть, пусть страница, обновленная с помощью ajax, обрабатывается как обычный GET /bar.html и кэшируется браузером. как?
Спасибо за любую подсказку. Дэйв
location.reload()
делает на самом деле ... но кто вообще сказал что-нибудь об использовании этого метода? - person CBroe   schedule 18.05.2014Cache-Control
и так далее). И DOM для контента, загруженного через AJAX, вы получите автоматически, когда сделаете этот запрос AJAX - снова ... так где же здесь настоящая проблема? - person CBroe   schedule 18.05.2014// browser is not loading page automatically for back/forward
делает это еще более неясным - ну, разве не почему вы вообще используете History API? Если вы просто хотите, чтобы браузер загружал страницы «нормально» - тогда зачем использовать History API, зачем использовать AJAX…? - person CBroe   schedule 18.05.2014