Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.02.2013, 17:58
Интересующийся
Отправить личное сообщение для Михаил1 Посмотреть профиль Найти все сообщения от Михаил1
 
Регистрация: 24.02.2012
Сообщений: 14

Как сохранить страничку в кеше браузера
Подскажите пожалуйста как принудительно сохранить страничку в кеше браузера?

Страничка после загрузки редактируется пользователем. В JS с помощью innerHTML, appendChild, replaysChild... Соответственно на сервер отправляются изменения с помощью xmlhttpreqvest.
Когда пользователь переходит по ссылке и нажимает кнопку назад из кеша загружается не редактированая страница??? Что делать?

Нужно чтобы загружалась редактированая страница.
Ответить с цитированием
  #2 (permalink)  
Старый 27.02.2013, 21:12
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Михаил1,
После аякса сделать перезагрузку?
__________________
оляля, ололо
Ответить с цитированием
  #3 (permalink)  
Старый 27.02.2013, 21:16
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Михаил1,
Подгрузите редактированную страницу в LocalStorage,
В начале объекта проставить адрес страницы и время сохранения/редактирования. При очередной загрузке или возврату по истории, первым делом проверяем наличие в Storage данной страницы и время
Далее либо оставляем текущую, либо перезагружаем из LocalStorage,
Можно явно указать время отдачи сервером в head
Ответить с цитированием
  #4 (permalink)  
Старый 27.02.2013, 21:17
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от 9xakep
После аякса сделать перезагрузку?
Тоже Вариант, но редакция может не пройти на серве
Ответить с цитированием
  #5 (permalink)  
Старый 28.02.2013, 00:30
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Так нужно же сделать наоборот - запретить кэширование страницы )
И тогда при нажатии Назад, страница будет взята не из кэша, а запрошена с сервера. Кажется это делается http-заголовком Cache-Control: no-cache или типа того.
Ответить с цитированием
  #6 (permalink)  
Старый 28.02.2013, 09:29
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

Попробуйте такой набор для антикеша

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");
Ответить с цитированием
  #7 (permalink)  
Старый 02.03.2013, 01:32
Интересующийся
Отправить личное сообщение для Михаил1 Посмотреть профиль Найти все сообщения от Михаил1
 
Регистрация: 24.02.2012
Сообщений: 14

спасибо огромное всем!
Deff отличный способ!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запретить применение css при изменении окна браузера east (X)HTML/CSS 7 12.10.2012 21:23
Как вставить видео на страничку .json MastaMustBe Элементы интерфейса 2 17.09.2012 16:51
Как после обновления страницы сохранить данные в инпуте? byMary Общие вопросы Javascript 4 01.08.2012 18:37
Как открыть чужой html код в другом окне браузера? palladin Events/DOM/Window 16 22.07.2012 06:38
Как получить текущую страницу браузера psychodrake Общие вопросы Javascript 12 19.09.2008 00:28