我有一个生成图像的 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();
});
我注意到在谷歌浏览器开发工具的网络选项卡中,对该文件处理程序进行了两次调用。
我在这里创建了一个测试小提琴:链接 如果你在这个小提琴上向下滚动,当图像加载到谷歌浏览器中时,你会看到两个图像请求。在 Firefox 和 IE 中,这仅适用于一次调用。
有什么办法可以避免这种行为?
更新:
在文件处理程序中设置了以下标头:
[0] "Server" "Microsoft-IIS/7.5"
[1] "Set-Cookie" "lang=nl; expires=Tue, 04-Feb-2014 13:08:56 GMT; path=/"
Response 对象的 Expires 属性为:
context.Response.Expires = 0