Я использую вкладки пользовательского интерфейса jQuery с содержимым ajax, вставленным в DIV, а не в IFRAME.
Содержимое хранится на сервере в виде текстового файла, состоящего из разметки HTML, но в этом файле отсутствует объявление DOCTYPE, раздел HEAD, раздел BODY, это в основном
<DIV>lorem ipse</DIV>.
Я пыталсяэтот подход для принудительного сценария без кэширования:
$("#tabs").tabs(
{
cache: false,
ajaxOptions: {cache: false}
}
);
Но когда я смотрю на вкладку Кэширование в Fiddler, он говорит следующее:
HTTP / 200-ответы кэшируются по умолчанию, если не истекаетЗаголовки, Pragma или Cache-Control присутствуют и запрещают кэширование.Заголовок HTTP / 1.1 ETAG присутствует: «53a38d5790b2cc1: ab2» Заголовок HTTP с последними изменениями присутствует: вс, 04 дек. 2011 14:23:50 GMT
Не предоставлена явная информация об истечении срока действия HTTP.Большинство браузеров используют эвристические политики истечения срока действия: 10% разницы между Last-Modified и Date составляет '00: 20: 13 ', поэтому этот ответ будет эвристически истек 4/4/2011 13:08:26 PM.
Как можно сохранить этот конкретный контент как без кеша?
PS В ответ на замечание @ Mikael о том, что для предотвращения кеширования обычно добавляют какое-то изменяющееся значение в URL, я не совсем уверен, каксделать это при использовании декларативного подхода jQuery ajax:
<div id='tabs' class="ui-tabs">
<ul>
<li><a title="contentcontainer" href="foo.html">One</a></li>
<li><a title="contentcontainer" href="foo2.html">Two</a></li>
<li><a title="contentcontainer" href="foo3.html">Three</a></li>
</ul>
<div id='contentcontainer'></div>
</div>
Как добавить '?' + new Date().getTime().toString()
к URL-адресу href?