后端动态生成图片或者替换图片后,返回给前端的图片链接没变,浏览器显示的还是旧的内容?
问题原因:当浏览器第一次解析了图片地址后,会将其缓存下来,图片虽然改变了,但是链接没有发生变化,浏览器默认会从上次的缓存取出,所以图片没有发生变化
解决办法
(1)后端每次重新生成的链接名字给随机名称
缺点:可能需要记录当前链接做查询之类的,如果随机图片名称,可能没办法追溯
(2)前端自己处理,给图片后面添加 ?随机数 或者给 ?时间,类似于版本控制
https:www.123.com/img.png + '?' + new Date()
// 或者
https:www.123.com/img.png + '?' + Math.random() * 1000000
当后端动态生成图片或替换图片但URL未改变时,浏览器会使用缓存显示旧图片。解决此问题有两种常见方法:一是后端每次生成随机文件名,但这可能导致追溯困难;二是前端通过在URL末尾添加时间戳或随机数强制浏览器重新加载。这两种方法都能有效刷新浏览器缓存,确保显示最新图片。
1399

被折叠的 条评论
为什么被折叠?



