我们正在使用Gravtars进行当前在Rails 2.3.4中开发的站点,我发现即使在Gravtar侧发生变化之后,Rails侧也倾向于缓存图像。我知道使用JavaScript,您可以在使用时防止缓存javacript_include_tag :cache => false 但是,方法是否有一种方法可以防止缓存 image_tag 帮手?

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

有什么想法,还是我应该停止使用那些该死的帮助助手作为拐杖,并且在我的轨道上一次开发生活,写一些实际的代码?

有帮助吗?

解决方案

我能想到的一个选择是写一个小帮手,该辅助者会在Gravatar URL的末端附加“?yyyymmddhh”。您可以生成URL,包括年,月,日和小时。这样,浏览器缓存只能陈旧最多一个小时。

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

其他提示

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

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

-Anton

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top