jQuery,浏览器缓存,使用attr刷新图像('src',newimage)

时间:2012-10-12 08:16:45

标签: jquery browser-cache etag last-modified if-modified-since

我通过attr('src',newimage)刷新图像,其中newimage可能指向多个图像中的一个,并且可能已经被浏览器缓存。不幸的是,在通过此方法请求时,浏览器缓存被完全忽略。

此示例中的所有图像确实都是由浏览器缓存的。最初从服务器获取时,服务器返回正确的“Cache-Control”,“Last-Modified”和“Etag”标头。使用jQuery运行attr('src',newimage)时,启动的请求既不会检查浏览器缓存,也不会发送请求标头'If-Modified-Since'和'If-None-Match':(

有人知道如何在向服务器发送请求之前告诉jQuery检查浏览器缓存吗?

BTW,我正在使用jQuery 1.7.1

1 个答案:

答案 0 :(得分:0)

jQuery对浏览器的缓存一无所知。你将无法“告诉jQuery检查浏览器缓存”,因为JavaScript不知道浏览器的缓存。

如果图像不是来自缓存是至关重要的,并且您发现它们总是被重新加载,也许您应该只包括所有图像 - 当需要显示特定图像时,隐藏所有图像图像并仅显示其src与您所需的src匹配的那个。