ruby-on-rails-3 – 在Rails 3.1中以开发模式启用图像缓存
在Rails 3.1开发模式中(使用资产管道时),使用响应标头“Cache Control:must-revalidate”提供由资产/图像提供的图像.
这意味着Google Chrome(以及看似只有Chrome)会尝试多次重新获取图片 – 即使在单页视图中也是如此.这导致了通过JavaScript进行DOM操作的所有方式的棘手问题.仅举几例: > jQuery UI Draggable有时会与鼠标光标有明显的偏移 我完全可以理解,对于开发服务器来说,这是一个合理的事情.我甚至可以理解,即使在单页视图中,Chrome也拒绝缓存图像,这是非常合理的. 那么,有没有办法改变Rails应用于开发中的图像响应的缓存控制头? 更新:正如几个人所建议的那样,一个更有趣的问题是,当没有其他浏览器出现时,为什么Chrome会尝试在网页浏览中多次重新获取图片? (为什么这不会给其他开发者带来问题?) 更新x2:我不打算将此作为答案提交,因为它只是一个适合我的目的的解决方法,但我们能够通过预编译资产然后丢弃预编译的CSS&来解决这个问题. JS. (这将要求sprockets调试在development.rb中变为false.) rake assets:precompile cd public/assets find . -name "*.js*" -exec rm -rf {} ; find . -name "*.css*" -exec rm -rf {} ; 解决方法
http://code.google.com/p/chromium/issues/detail?id=102706
这似乎是chrome的文档问题.我遇到了同样的问题:添加或删除引用图像的CSS类将闪烁或调整大小,同时图像请求(将始终返回304未修改)正在进行中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |