我有一个ashx文件处理程序,用于生成我的图片。
这一切都很好。
现在,我想使用延迟加载。使用这个jquery lazy loading plugin。
所以我调整了我的html图片,像这样:
我在Google Chrome开发者工具的网络选项卡中注意到有两个调用请求发送到这个文件处理程序。
我已经在这里创建了一个测试fiddle:链接。如果你在这个fiddle上向下滚动,你会看到在Google Chrome中加载图像时会发出两个图像请求。在Firefox和IE中,只需要一个调用就可以完成。
有没有办法避免这种行为?
更新:
以下标头设置在文件处理程序中:
<img src="www.mywebsite.com/action/getimage.ashx?imageID=f8be4bf6&width=100&height=700&bgcolor=999" />
这一切都很好。
现在,我想使用延迟加载。使用这个jquery lazy loading plugin。
所以我调整了我的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开发者工具的网络选项卡中注意到有两个调用请求发送到这个文件处理程序。
我已经在这里创建了一个测试fiddle:链接。如果你在这个fiddle上向下滚动,你会看到在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属性是:
context.Response.Expires = 0
ProcessRequest
的内容?这样做的原因是因为只有在使用图像处理程序www.mywebsite.com/action/getimage.ashx?imageID=f8be4bf6&width=100&height=700&bgcolor=999
的情况下才会出现此行为,但如果是像http://www.appelsiini.net/attachments/jquery.png
这样的静态图像,则只有一个调用。 - Andy Refuerzo