Повторная загрузка background-изображений
От: olgajc  
Дата: 28.12.05 12:33
Оценка:
Добрый день.

Подскажите, пожалуйста, как можно избежать повторной загрузки background-изображений при изменении стиля элемента body?

Пример. Вот фрагмент страницы ASP.NET:

<table>
<tr>
<td background="/img/bg1.gif" onclick="body.style.cursor = 'progress'; body.style.cursor = 'default';">
test
</td>
</tr>
</table>

При изменении стиля body картинка bg1.gif загружается с сервера повторно (в этом я убедилась, переименовав картинку после загрузки страницы, и с помощью утилит для котроля http-трафика).

Отмечу, что:
1. к этому приводит изменение любого свойства стиля body
2. повторно загружаются все background-изображения на странице

В нете, в форумах обсуждения этой проблемы я не нашла.

Спасибо!
Re: Повторная загрузка background-изображений
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.12.05 04:23
Оценка:
Здравствуйте, olgajc, Вы писали:

O>Спасибо!

Проверь, какие хидеры приезжают с картинкой. Возможно, там стоит немедленный expiration.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Повторная загрузка background-изображений
От: olgajc  
Дата: 29.12.05 12:41
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Проверь, какие хидеры приезжают с картинкой. Возможно, там стоит немедленный expiration.


background-картинки загружаются по окончании expiration (expiration = 1 час).
Но мне необходимо полностью избавиться от повторной загрузки background-картинок, т.к. периодически возникает ситуация, когда сервер картинки не возвращает и IE подвисает.
Re[3]: Повторная загрузка background-изображений
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.01.06 03:40
Оценка:
Здравствуйте, olgajc, Вы писали:

O>background-картинки загружаются по окончании expiration (expiration = 1 час).

O>Но мне необходимо полностью избавиться от повторной загрузки background-картинок, т.к. периодически возникает ситуация, когда сервер картинки не возвращает и IE подвисает.
Поставь ей реалистичный експирейшн. Если картинка заекспайрилась, то эксплорер просто обязан ее перечитать — для него это означает, что картинка уже поменялась. Хорошей практикой также является выставление разумного expiration вместе с проверкой if-modified-since и отдачей 304.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Повторная загрузка background-изображений
От: olgajc  
Дата: 11.01.06 07:54
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Поставь ей реалистичный експирейшн. Если картинка заекспайрилась, то эксплорер просто обязан ее перечитать — для него это означает, что картинка уже поменялась. Хорошей практикой также является выставление разумного expiration вместе с проверкой if-modified-since и отдачей 304.


Выяснила, что background-изображения перегружаются при динамическом изменении стиля самого элемента или одного из родительских элементов.
Т.е. отказалась от background-изображений там, где необходимо динамически менять стиль родительских элементов и отказалась от изменения стиля там, где не обойтись без background.
+ у картинок увеличила експирейшн.

Большое спасибо!
Повторная загрузка background-изображений
От: Аноним  
Дата: 28.12.05 12:57
Оценка:
Привет! Закешируй картинки.
Пример:

<script>
// Cache images
var ImgArray = new Array();
ImgArray[0] = new Image();
ImgArray[0].src = '/img/bg1.gif';
</script>
Киев


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.