在FTP中替换图像后,防止从缓存加载图像

时间:2014-10-09 18:36:19

标签: image caching adobe refresh muse

我为使用Adobe Muse的客户设计了几个网站。他们有特殊的定期更改,我会在他们改变时上传它们作为图像。在我用新的图像(通过FTP)替换图像后,网站显示OLD图像,直到我刷新。这是对这些客户的一种常见抱怨,因为它们最终似乎没有任何内容被替换。

有没有办法让浏览器自动显示新图像而不加载缓存副本?我可以在Muse中完成此任务,还是需要使用PHP / HTML重建整个内容?

提前谢谢。

编辑:解决了。见答案。

2 个答案:

答案 0 :(得分:0)

浏览器通过url缓存请求。您可以将更新时间戳附加到URL作为参数。然后,当更新时间改变时,URL将不同,浏览器应该拉出更新的图像。

答案 1 :(得分:0)

我想出了一些东西,来自@ChrisThompson的回答。使用JavaScript,我创建了一个日期变量,然后使用getElementById更改了图像的src。我将此代码手动放入Muse中导出的HTML文档中。这不是最优雅的解决方案,但在我必须更改该特定页面的设计之前,它不应成为问题。

在head标签中:

<script type="text/javascript">
    var d = new Date();
    var pageTime = d.getTime();
</script>

位于原始img元素的下方:

<script type="text/javascript">
    document.getElementById("u696").href = "images/coupons.png?" + pageTime;
    document.getElementById("u696_img").src = "images/coupons.jpg?" + pageTime;
</script>

(有一个href和一个src,因为页面上的图像链接到一个更大的版本,所以两者都需要这种处理.u696是Muse给这些特定元素的id。)