我有一个 ajax 上传脚本,它返回一个图像,该图像应该替换 dom 中现有的加载图像。
例如
<img src="http://site.com/user1-profile-pic.jpg" id="profile" />
上传新图像返回 json
{"url": "http://site.com/user1-profile-pic.jpg" }
然后我运行 jQuery
$("#profile").attr('src', myjson.url);
但图像网址始终相同,因此我想破坏该图像的缓存以再次加载它。是否可以像在图像 URL 末尾附加 ?timestamp
一样简单?
最佳答案
它是相同的,因为当您使用相同的名称时它会被缓存,技巧是使用不同的名称。
由于您不能使用不同的名称,因此我们会在其中附加一些内容:
var dt = new Date();
$("#profile").attr( 'src', myjson.url + '?dt=' + dt.getTime() );
只需一次通话(如 Sushil 所说):
$("#profile").attr( 'src', myjson.url + '?dt=' + (+new Date()) );
这将输出为:
关于javascript - 如何强制浏览器在 .attr ('src' , url) 更改后仅刷新一张图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12386033/