1

我们正在将 gravtars 用于当前在 rails 2.3.4 中开发的站点,我发现即使在 gravtar 端发生更改后,rails 端也倾向于缓存图像。我知道使用 javascript 可以在使用该javacript_include_tag :cache => false方法时防止缓存,但是,有没有办法在使用image_tag帮助程序时防止缓存?

我已经阅读了一些,它似乎曾经在 url 之后附加时间戳信息和一些参数(即src="image.png?123123"),但它似乎不再这样做了。

有什么想法,或者我应该停止使用那些该死的有用的助手作为拐杖,并且在我的发展生活中写一些实际的代码吗?

4

2 回答 2

2

我能想到的一个选择是编写一个小助手,将“?YYYYMMDDHH”附加到 Gravatar URL 的末尾。您可以生成包含年、月、日和小时的 URL。这样,浏览器缓存最多只能过期一个小时。

这将增加用户的感知加载时间,因为图像被浏览器缓存的频率会降低。您可以通过多种方式进行调整:YYYYMMDD、YYYYMMDDHHm 等。您必须权衡拥有最新 Gravatar 图像与页面渲染速度的重要性。

于 2009-11-13T05:13:53.073 回答
0

您是在谈论网站http://en.gravatar.com/吗?

Rails 仅将缓存破坏时间戳附加到本地资源。如果图像是从另一个站点请求的,它不会修改 src 属性。如果您需要欺骗浏览器不缓存远程图像,则必须手动设置 src。

-安东

于 2009-11-13T02:23:36.763 回答