Как сохранить страничку в кеше браузера
Подскажите пожалуйста как принудительно сохранить страничку в кеше браузера?
Страничка после загрузки редактируется пользователем. В JS с помощью innerHTML, appendChild, replaysChild... Соответственно на сервер отправляются изменения с помощью xmlhttpreqvest. Когда пользователь переходит по ссылке и нажимает кнопку назад из кеша загружается не редактированая страница??? Что делать? Нужно чтобы загружалась редактированая страница. |
Михаил1,
После аякса сделать перезагрузку? |
Михаил1,
Подгрузите редактированную страницу в LocalStorage, В начале объекта проставить адрес страницы и время сохранения/редактирования. При очередной загрузке или возврату по истории, первым делом проверяем наличие в Storage данной страницы и время Далее либо оставляем текущую, либо перезагружаем из LocalStorage, Можно явно указать время отдачи сервером в head |
Цитата:
|
Так нужно же сделать наоборот - запретить кэширование страницы )
И тогда при нажатии Назад, страница будет взята не из кэша, а запрошена с сервера. Кажется это делается http-заголовком Cache-Control: no-cache или типа того. |
Попробуйте такой набор для антикеша
Header("Last-Modified: ".gmdate("D, d M Y H:i:s", strtotime("-1 day"))." GMT"); Header("Content-Type: text/html; charset=utf-8"); if (!empty($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache/2')) { Header("Cache-Control: no-cache, pre-check=0, post-check=0"); } else { Header("Cache-Control: private, pre-check=0, post-check=0, max-age=0"); } Header("Expires: 0"); Header("Pragma: no-cache"); |
спасибо огромное всем!
Deff отличный способ! |
Часовой пояс GMT +3, время: 01:43. |