我通过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
答案 0 :(得分:0)
jQuery对浏览器的缓存一无所知。你将无法“告诉jQuery检查浏览器缓存”,因为JavaScript不知道浏览器的缓存。
如果图像不是来自缓存是至关重要的,并且您发现它们总是被重新加载,也许您应该只包括所有图像 - 当需要显示特定图像时,隐藏所有图像图像并仅显示其src与您所需的src匹配的那个。