Предварительно загружать изображения с помощью javascript

Вот мой скрипт предварительной загрузки:

<script type="text/javascript"> 
Image_1 = new Image(1,1);
Image_1.src = "images/sprites.png";
</script>

И это работает нормально. Я вижу в заголовках загрузку изображения.

Вот мой вопрос. Несмотря на то, что я предварительно загрузил sprites.png, я заметил, что когда я перехожу на страницу своего сайта, которая просто отображает это изображение целиком, заголовки сообщают мне, что мой браузер запрашивает у сервера повторную отправку изображения.

Я надеюсь не показаться слишком наивным. Но зачем браузеру запрашивать изображение, если я предварительно загрузил его ранее? Есть ли другие причины, по которым браузеру потребуется повторно запросить?

Кроме того, я указал размеры как изображение (1,1). Иногда я не знаю размеров, так как это изображение время от времени обновляется. Может это причина?


person coffeemonitor    schedule 12.04.2010    source источник


Ответы (1)


Вам нужно отправить заголовок Expires с изображением с сервера, чтобы включить кеширование в браузере.

например в Apache (в .htaccess)

срок действия истекает:

ExpiresActive On

по дате:

ExpiresDefault "access plus 30 days"

или по типу файла:

ExpiresByType image/gif "modification plus 5 hours 3 minutes"
person scunliffe    schedule 12.04.2010
comment
Спасибо, scanliffe, я буду настраивать это, так как я все еще новичок в мире htaccess. Но я достаточно баловался, чтобы знать, что у него есть преимущества во многих вещах. - person coffeemonitor; 13.04.2010