0

我使用 Adob​​e Muse 为客户设计了几个网站。他们有定期变化的特价商品,当它们发生变化时,我会将它们作为图片上传。在我用新图像(通过 FTP)替换图像后,站点会显示旧图像,直到我刷新。这是这些客户的常见抱怨,因为在他们看来,根本没有更换任何东西。

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

先感谢您。

编辑:解决。查看答案。

4

2 回答 2

0

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

于 2014-10-09T18:54:51.263 回答
0

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

在头部标签中:

<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。)

于 2014-10-10T14:39:10.050 回答