Запретить Opera загружать страницы из кэша с помощью кнопки «Назад» или принудительно кэшировать AJAX - PullRequest
3 голосов
/ 14 июня 2011

У меня проблема с двумя возможными решениями.

  1. Как заставить Opera кешировать вызовы .ajax в jQuery?
  2. Как я могу заставить браузер Opera перезагрузить страницу, если пользователь достигнет ее, нажав кнопку "Назад"?

Тестовый сценарий: открыть страницу, перейти по любой ссылке, а затем вернуться на страницу с помощью кнопки «Назад». Страница извлекается из кэша.

Я уже прочитал несколько статей (в том числе и о StackOverflow), и ни одна из них не работает: 1) Кэшировать заголовки HTTP - игнорируется 2) метатеги - игнорируются 3) Решение с событием js onunload и флаговой переменной - не работает

Любые другие предложения?

1 Ответ

0 голосов
/ 03 апреля 2012

Это POST или GET?

Подобная проблема здесь: http://my.opera.com/community/forums/topic.dml?id=435111

Почему Ajax-запрос, использующий метод GET, не может быть кэширован в Opera?Пожалуйста, посмотрите на этот небольшой тест:

http://www.karapuz.by/media/js/ajax-GET-caching-test.html

Кажется, что Opera (у меня 10.10), в отличие от IE, FF, GC и Safari, не кеширует ответ ajax, даже если явно сказано сделать это.Есть идеи?

И ответ:

Теперь кажется, что проблема в библиотеке jQuery.

Я сделал еще один тест http://www.karapuz.by/media/js/ajax-GET-caching-test2.html, он использует более низкоуровневый объект XHR, а не "ajax" jQuery, как это было в первом тесте.И теперь Опера в порядке!

...