相关疑难解决方法(0)

如何防止Rails中的浏览器页面缓存

Ubuntu - > Apache - > Phusion Passenger - > Rails 2.3

我网站的主要部分会对您的点击做出反应.因此,如果您点击链接,它会将您发送到目的地,并立即重新生成您的页面.

但是,如果您点击后退按钮,则看不到新页面.不幸的是,如果没有手动刷新,它就不会出现; 看来浏览器正在缓存它.我想确保浏览器不缓存页面.

另外,我确实想为所有静态资产设置远期到期日期.

解决这个问题的最佳方法是什么?我应该在Rails中解决这个问题吗?Apache的?JavaScript的?

谢谢你的帮助,杰森


唉.这些建议都没有强迫我正在寻找的行为.

也许有一个JavaScript的答案?我可以让rails在注释中写出时间戳,然后让javascript检查以查看时间是否在五秒钟内(或者无论什么工作).如果是,那么很好,但如果没有,那么重新加载页面?

你认为这会有用吗?

感谢你的帮助,

贾森

ruby apache caching ruby-on-rails http-headers

149
推荐指数
2
解决办法
6万
查看次数

Chrome中的Ajax + pushState错误

我在Chrome 19中遇到了一个奇怪的错误.我通过pushState支持实现了一个完整的AJAX网站(每个非外部链接都通过AJAX请求打开).我通过JSON格式在AJAX中传输HTML片段.

当我通过外部链接离开我的网站然后返回时,Chrome会呈现该网址的缓存数据 - 问题是,他缓存了JSON内容并显示了该内容,而不是完整的网页.

这可以通过这些步骤重现(更新:从那时起我在我的网站上删除了AJAX功能,因此不再出现此错误):

  1. 打开http://beta.mirtes.cz/
  2. 单击第二个日期链接(16. 6. 2012"旁边的"这一切都以一封奇怪的电子邮件开头").此页面(您现在位于http://beta.mirtes.cz/it-all-began-with-a-strange-e-mail)通过AJAX加载.
  3. 点击"这一切都以一封奇怪的电子邮件开头".您被重定向到外部网站.
  4. 页面完全加载后,单击Chrome中的"返回".

我尝试使用Cache-Control发送所有AJAX响应:no-cache,但没有效果.

Firefox 12工作正常.

ajax html5 google-chrome

7
推荐指数
1
解决办法
1517
查看次数