防止在iframe中缓存Javascripts
我有一些JS文件被iframe中的页面加载。在Chrome中,刷新似乎不会强制重新加载JS文件,而JS文件正被定期处理和修改。如果我直接浏览到JS文件,刷新,它似乎解决了这个问题。我尝试了StackOverflow上其他地方的修复程序,但似乎没有成功。有什么想法吗?这个应用程序是在Rails上开发的——也许我可以使用JS打包解决方案防止在iframe中缓存Javascripts,iframe,Iframe,我有一些JS文件被iframe中的页面加载。在Chrome中,刷新似乎不会强制重新加载JS文件,而JS文件正被定期处理和修改。如果我直接浏览到JS文件,刷新,它似乎解决了这个问题。我尝试了StackOverflow上其他地方的修复程序,但似乎没有成功。有什么想法吗?这个应用程序是在Rails上开发的——也许我可以使用JS打包解决方案 在\u过滤器之前:设置\u缓存\u buster def set_cache_buster response.headers["Cache-Contro
在\u过滤器之前:设置\u缓存\u buster
def set_cache_buster
response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
end
您是否正在使用asset helper javascript_include_标记?原因:如果您的配置具有以下内容:
config.action_controller.perform_caching = false
包含在该助手中的每个JS都将附加一个时间戳以避免缓存
例如:
<%= javascript_include_tag "prototype", "application", "effects" %>
使用perform_caching=true,它将生成:
<script type="text/javascript" src="/javascripts/prototype.js"></script>
<script type="text/javascript" src="/javascripts/application.js"></script>
<script type="text/javascript" src="/javascripts/effects.js"></script>
<script type="text/javascript" src="/javascripts/prototype.js?1197321216"></script>
<script type="text/javascript" src="/javascripts/application.js?1197321216"></script>
<script type="text/javascript" src="/javascripts/effects.js?1197321216"></script>
但如果perform_caching=false,则会生成:
<script type="text/javascript" src="/javascripts/prototype.js"></script>
<script type="text/javascript" src="/javascripts/application.js"></script>
<script type="text/javascript" src="/javascripts/effects.js"></script>
<script type="text/javascript" src="/javascripts/prototype.js?1197321216"></script>
<script type="text/javascript" src="/javascripts/application.js?1197321216"></script>
<script type="text/javascript" src="/javascripts/effects.js?1197321216"></script>
我没有测试这段代码,它可能需要一些调整,我接触rails已经有一段时间了。祝你好运
资料来源:
这仅仅是为了开发的原因吗?我想说,他正在寻找一种不受缓存阻碍的开发方法。但在生产中,我建议打开缓存。我认为您的解决方案将完全禁用缓存。这可能不是他想要的我可能错了^^