Пример демонстрирует универсальный код работы с кешем для Internet Explorer и Firefox. Этот пример обеспечивает посылку "If-Modified-Sinse"-заголовка IE при обращениях к закешированному запросу.
Исходный код этого примера:
<script type="text/javascript">
<!--
/* Пример демонстрирует универсальный код работы с кешем для Internet Explorer и Firefox.
Этот пример обеспечивает посылку "If-Modified-Sinse"-заголовка IE при обращениях к закешированному запросу.
Используется функция getAjaxObj */
function getAjaxObj(){
if(window.XMLHttpRequest){
return new XMLHttpRequest();
} else if(window.ActiveXObject){
return new ActiveXObject("Microsoft.AjaxObj");
}
}
url='http://htmlweb.ru/ajax/ajax.png';
AjaxObj=getAjaxObj();
AjaxObj.open("GET", url, false); // синхронный запрос для примера
AjaxObj.send(null);
if(!AjaxObj.getResponseHeader("Date")) { // 1
var cached = AjaxObj;
AjaxObj=getAjaxObj();
var ifModifiedSince = cached.getResponseHeader("Last-Modified");
ifModifiedSince = (ifModifiedSince) ? ifModifiedSince : new Date(0); // January 1, 1970
AjaxObj.open("GET", url, false);
AjaxObj.setRequestHeader("If-Modified-Since", ifModifiedSince);
AjaxObj.send(null);
if(AjaxObj.status == 304) AjaxObj = cached;
}
//-->
</script>