为您的图像的每个请求添加一个随机生成的查询字符串。
带有查询字符串的图像示例:
<img src="image.png?8484744" />
这将阻止浏览器在本地缓存图像。
这里是一个脚本,用于在 src 上为使用 dojo 的所有图像添加动态创建的查询字符串。
实时示例,(请检查 dom 以查看查询字符串):
https://jsfiddle.net/haw785rs/
require(['dojo/query', 'dojo/dom-attr'], function(query, domAttr) {
var images = query('img');
images.forEach(function(item) {
domAttr.set(item, 'src', item.src + '?' + Date.now());
});
})
<img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=350%C3%97150&w=350&h=150" alt="Test" height="350" width="150">
<img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=350%C3%97150&w=350&h=150" alt="Test" height="350" width="150">
<img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=350%C3%97150&w=350&h=150" alt="Test" height="350" width="150">
您还可以在服务器端强制执行此行为,以确保您的图像与标头一起交付
Cache-control: max-age=0, must-revalidate
(我建议您将服务器方法与动态查询字符串一起使用)。