Jus*_*rls 5 google-chrome cache-control ruby-on-rails-3 asset-pipeline
在Rails 3.1开发模式中(使用资产管道时),使用响应标头"Cache Control:must-revalidate"提供由资产/图像提供的图像.
这意味着Google Chrome(以及看似只有Chrome)会尝试多次重新获取图片 - 即使在单页视图中也是如此.这导致了通过JavaScript进行DOM操作的所有方式的棘手问题.仅举几例:
我完全可以理解,对于开发服务器来说,这是一个合理的事情.我甚至可以理解,即使在单页视图中,Chrome也拒绝缓存图像,这是非常合理的.
那么,有没有办法改变Rails应用于开发中的图像响应的缓存控制头?
更新:正如几个人所建议的那样,一个更有趣的问题是,当没有其他浏览器出现时,为什么Chrome会尝试在网页浏览中多次重新获取图片?(为什么这不会给其他开发者带来问题?)
更新x2:我不打算将此作为答案提交,因为它只是一个适合我的目的的解决方法,但我们能够通过预编译资产然后丢弃预编译的CSS和JS来解决这个问题.(这将要求sprockets调试变为false development.rb
.)
rake assets:precompile
cd public/assets
find . -name "*.js*" -exec rm -rf {} \;
find . -name "*.css*" -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
小智 1
http://code.google.com/p/chromium/issues/detail?id=102706
这似乎是 chrome 的一个记录问题。我遇到了同样的问题:添加或删除引用图像的 CSS 类将在图像请求(始终返回未修改的 304)正在进行时闪烁或调整大小。
归档时间: |
|
查看次数: |
2061 次 |
最近记录: |