按下后退按钮强制重新加载图像(在img中)

时间:2014-08-19 09:49:49

标签: caching back no-cache

有一个博客,我可以发布图片和链接,没有脚本。我仍然希望拥有动态内容。

我的想法:没有缓存等标题的图像,由我自己的服务器端php脚本动态生成。此图像链接到我的服务器上的页面,该页面设置cookie并执行javascript history.back()。然后下次下载图像时,它是一个不同的图像。

问题是,按下后退按钮后,我无法让浏览器再次下载图像...

我设置了以下标题:

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
header('Pragma: no-cache'); // HTTP 1.0.
header('Expires: 0'); // Proxies.

由于某些原因,如果图像位于标记内,则旧版本会在返回时从缓存中加载。

此外,我将图像包含在第二页,因此浏览器甚至下载了新版本的图像,但是当我按下后退按钮时,我仍然看到旧版本...

如何强制浏览器再次下载图像?

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是在图像源的末尾附加一个数字:

<img src="image.jpg?1" />

如果您的姓氏为image.jpg之后的最后一张图片是?将强制浏览器下载图像

所以如果您的同名姓氏是:

<img src="image.jpg?1" />

您必须将其更改为

<img src="image.jpg?2" />

您可以使用随机生成器编号并将其放在src的末尾,以便每次浏览器开始下载图像时