javascript - 如何强制浏览器在 .attr ('src' , url) 更改后仅刷新一张图像?

标签 javascript jquery ajax

我有一个 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()) );

这将输出为:

enter image description here

关于javascript - 如何强制浏览器在 .attr ('src' , url) 更改后仅刷新一张图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12386033/

相关文章:

jquery - 在 div 中显示从服务器收到的 XML 错误

javascript - 使用输入按钮将文本替换为另一个文本

javascript - 将breezeJs与Angular一起使用

javascript - 有人知道对页面中包含的所有脚本进行关键字搜索的工具吗?

javascript - Chrome 扩展程序 : create new tab(chrome. tabs.create)和新标签页中的 executeScript...不工作 :(

javascript - 添加/删除多个输入字段

javascript - POST - 发布时 - Jquery - 不是 AJAX

jquery - 如何解决此错误 : Uncaught ReferenceError: jQuery is not defined

javascript - 寻找适用于 Apple 类型下拉列表/菜单的 CSS

jquery - ajax jquery更新div问题