У меня есть обработчик файлов ashx, который генерирует мои изображения.
<img src="www.mywebsite.com/action/getimage.ashx?imageID=f8be4bf6&width=100&height=700&bgcolor=999" />
Это все работает нормально.
Теперь я хочу использовать ленивую загрузку. Используя этот плагин отложенной загрузки jquery
Итак, я настроил свои html-изображения следующим образом:
<img src="imageplaceholder.gif" original-data="www.mywebsite.com/action/getimage.ashx?imageID=f8be4bf6&width=100&height=700&bgcolor=999" />
И добавил следующий скрипт:
$(function() {
$("img").lazyload();
});
Я заметил, что на вкладке сети инструментов Google Chrome Devoloper есть два вызова этого обработчика файлов.
Я создал тестовую скрипту здесь: ссылка. Если вы прокрутите эту скрипту вниз, вы увидите два запроса изображения, когда изображение загружается в Google Chrome. В Firefox и IE это работает только с одним вызовом.
Есть ли способ избежать такого поведения?
ОБНОВИТЬ:
В обработчике файлов устанавливаются следующие заголовки:
[0] "Server" "Microsoft-IIS/7.5"
[1] "Set-Cookie" "lang=nl; expires=Tue, 04-Feb-2014 13:08:56 GMT; path=/"
И свойство Expires объекта Response:
context.Response.Expires = 0
ProcessRequest
обработчика изображений? Причина этого в том, что поведение происходит только в том случае, еслиdata-original
использует обработчик изображения (www.mywebsite.com/action/getimage.ashx?imageID=f8be4bf6&width=100&height=700&bgcolor=999
), но когда это статическое изображение, такое какhttp://www.appelsiini.net/attachments/jquery.png
, тогда есть только один вызов. - person Andy Refuerzo   schedule 30.01.2013