首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止在iframe中缓存Javascripts

问防止在iframe中缓存Javascripts
EN

Stack Overflow用户
提问于 2011-06-06 08:38:24
回答 2查看 513关注 0票数 1

我有一些JS文件是由iframe中的页面加载的。在Chrome中,刷新似乎不会强制重新加载JS文件,这些文件正在相当定期地进行处理和修改。如果我直接浏览到JS文件,刷新,它似乎解决了这个问题。我尝试了在StackOverflow其他地方找到的以下修复,但似乎不起作用。有什么想法吗?这个应用程序是在Rails上开发的--也许我可以使用JS打包解决方案?

​

EN

回答 2

Stack Overflow用户

发布于 2011-06-06 08:46:58

before_filter :set_cache_buster

代码语言:javascript
复制
  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
票数 0
EN

Stack Overflow用户

发布于 2011-06-06 08:59:00

您是否在使用资源帮助器javascript_include_tag?因为如果您只要配置具有以下内容:

代码语言:javascript
复制
config.action_controller.perform_caching = false

您包含在该帮助程序中的每个JS都将附加一个避免缓存的时间戳。

示例:

代码语言:javascript
复制
<%= javascript_include_tag "prototype", "application", "effects" %>

当perform_caching = true时,它将生成:

代码语言:javascript
复制
<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>

但是当perform_caching = false时,它将生成:

代码语言:javascript
复制
<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了。祝好运!

资料来源:

tutorial

reference

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6246912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档