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

问题描述:

我为使用Adobe Muse的客户设计了几个网站。他们有特殊的定期更换,当他们改变时,我将它们作为图像上传。在我用新的图像(通过FTP)替换图像后,网站会显示旧图像,直到我刷新。这是对这些客户的普遍抱怨,因为它们看起来完全没有任何东西被替换。防止在FTP中替换图像后从缓存加载图像

有没有办法让浏览器自动显示新的图像而不加载缓存的副本?我可以在Muse中完成这项工作吗?还是需要使用PHP/HTML重建整个项目?

预先感谢您。

编辑:解决。查看答案。

浏览器通过url缓存请求。您可能会将更新时间戳追加到URL上作为参数。然后,当更新时间改变时,url会有所不同,浏览器应该更新图像。

+0

这可能会起作用,但我理想的是在Adobe Muse中寻找一些这样的功能。 – JonNelsonMedia 2014-10-09 19:03:02

+0

我用你的答案来解决问题。见下文。谢谢! – JonNelsonMedia 2014-10-10 14:39:50

+0

我对Adobe Muse一无所知,所以我无法提供任何其他建议。我很高兴你想出了一个解决方案。 – ChrisThompson 2014-10-10 14:41:40

我想出了一些来自@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> 

(有A HREF和SRC因为页面链接到一个更大的版本的图像,所以两者都需要这种治疗,u696是Muse给这些特定元素的ID)