0

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

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

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

顺便说一句,我正在使用 jQuery 1.7.1

4

1 回答 1

0

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

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

于 2012-10-12T08:25:12.090 回答