Предотвратить кеширование Javascripts в iframe - PullRequest
1 голос
/ 06 июня 2011

У меня есть несколько файлов JS, загружаемых страницей внутри iframe.В Chrome обновление, похоже, не приводит к перезагрузке файлов JS, над которыми работают и которые регулярно обновляются.Если я перехожу непосредственно к файлам JS, обновляюсь, похоже, это решает проблему.Я попробовал следующее исправление, найденное в другом месте в StackOverflow, но, похоже, это не сработало.Есть идеи?Приложение разработано на Rails - возможно, я мог бы использовать решение для упаковки JS?

Ответы [ 2 ]

0 голосов
/ 06 июня 2011

Используете ли вы помощник актива javascript_include_tag? Причина, если вы так долго, как конфигурация имеет следующее:

config.action_controller.perform_caching = false

К каждому JS, который вы включаете с этим помощником, будет добавлена ​​временная метка, избегающая кэша.

Пример:

<%= javascript_include_tag "prototype", "application", "effects" %>

При выполнении execute_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>

Но с execute_caching = false это сгенерирует:

<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>

Я не тестировал этот код, возможно, он нуждается в некоторой корректировке, прошло много времени с тех пор, как я коснулся рельсов. Удачи!

Источники:

учебник

ссылка

0 голосов
/ 06 июня 2011

before_filter: set_cache_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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...