【问题标题】:Reload a cached image with javascript使用 javascript 重新加载缓存的图像
【发布时间】:2011-12-15 00:14:50
【问题描述】:

是否可以使用 javascript 重新加载已缓存的特定图像?

在我的网站上,用户可以上传新头像。完成后,我希望浏览器重新下载新头像,这样用户就可以看到所做的更改。

目前,我正在这样做:

$('profilePic').src = 'flash/userImage.ashx?id=12345677&type=avatar&t=' + new Date().getTime()

userImage.ashx 根据 id 和查询类型返回图像。它不使用 't' 参数 - 这只是因为 url 不同,所以图像会重新加载。

这在用户上传新头像的页面上工作正常,但在网站的其他地方它仍将使用缓存的图像。

我可以关闭用户头像的缓存,但我并不想这样做。是否可以强制重新加载特定的缓存图像?

【问题讨论】:

    标签: javascript mootools


    【解决方案1】:

    也许使用 ETag 进行缓存是一种解决方案: http://en.wikipedia.org/wiki/HTTP_ETag

    当不同的用户在头像更新后加载页面时,他随图片请求发送的 ETag 与服务器上生成的 ETag 不同,因此应该导致 200 响应而不是 304,因此图像已重新加载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 2012-06-09
      • 2012-03-01
      • 1970-01-01
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多