我使用 Adobe Muse 为客户设计了几个网站。他们有定期变化的特价商品,当它们发生变化时,我会将它们作为图片上传。在我用新图像(通过 FTP)替换图像后,站点会显示旧图像,直到我刷新。这是这些客户的常见抱怨,因为在他们看来,根本没有更换任何东西。
有没有办法让浏览器自动显示新图像而不加载缓存副本?我可以在 Muse 中完成此操作,还是需要使用 PHP/HTML 重新构建整个过程?
先感谢您。
编辑:解决。查看答案。
浏览器通过 url 缓存请求。您可能可以将更新时间戳作为参数附加到 URL 上。然后,当更新时间更改时,url 会有所不同,浏览器应该拉取更新的图像。
我从@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。)