【发布时间】:2015-06-08 11:33:47
【问题描述】:
我正在为我正在进行的项目创建一个简单的照片查看器。当用户查看图像时,它会被 AJAX 请求并注入到 DOM。这很好用,但是我很难让cache 标志正常工作。每次图像更改时,都会再次请求它。如何强制浏览器缓存图像?理想情况下不使用本地存储或服务器端解决方案。
编辑:
也许我不清楚。假设图库中总共有 5 张图片,用户已经看过全部 5 张但想再次查看它们 - 届时浏览器将再次下载它们而不是使用缓存版本。在网络面板中可以很容易地看到它。图片正在加载两次。
这是我的代码:
$.ajax( {
url: imgUrl,
type: 'GET',
cache: true,
success: function() {
$slide.prepend( '<img src="' + imgUrl + '" />' );
}
} );
【问题讨论】:
-
如果图像发生了变化,那么它必须重新下载...?缓存仅适用于未更改的文件。
-
也许我不清楚。假设图库中总共有 5 张图片,用户已经看过全部 5 张但想再次查看它们 - 届时浏览器将再次下载它们而不是使用缓存版本。在网络面板中可以很容易地看到它。图片正在加载两次。
-
你可以使用cookie
-
是的,我可以,我也可以使用本地存储或类似的东西,但这并不是真正的解决方案。我觉得这应该由浏览器本机完成,即。它不应该两次加载相同的资源!因此,我的 AJAX 函数中的
cache标志。但它不起作用。
标签: javascript jquery ajax image caching