Кэшируйте JavaScript и CSS в браузере пользователя и загружайте новый после внесения изменений - PullRequest
0 голосов
/ 25 июля 2010

Я бы хотел, чтобы браузер пользователя кешировал внешние файлы .css и .js. Однако каждый раз, когда я вносил изменения, я хотел бы, чтобы браузер пользователя мог загружать обновленные внешние файлы вместо использования предыдущего кэша.

Я обнаружил, что добавление параметров при включении файлов ext .css и .js поможет. Но когда я сделал это, я обнаружил, что браузер больше не кэширует файлы, а продолжает загружать внешние файлы каждый раз, когда я посещал страницу. Могу ли я узнать, как я могу решить это?

Ответы [ 3 ]

4 голосов
/ 25 июля 2010

В основном у вас есть 2 варианта:

  • Использование Etag . Если ваш хостинг-провайдер разрешает это, вы можете настроить Etag в файле .htaccess: <Directory /path/to/directory><br> FileETag INode MTime Size<br> </Directory>

  • Не параметр, добавьте версию как часть имени файла. Например: style_10.css

2 голосов
/ 25 июля 2010

Чтобы понять кэширование, я рекомендую учебник Марка Ноттингема по кэшированию: http://www.mnot.net/cache_docs/.

Если вы установите правильные заголовки «Expires», файлы будут кэшироваться, даже если вы добавите динамические параметры URL.Ведь это действительно самый эффективный способ решения вашей проблемы.

0 голосов
/ 25 июля 2010

Большинство веб-серверов будут использовать даты изменения файлов, чтобы сообщать, изменились ли файлы в браузере. И браузеры должны правильно запрашивать файлы с заголовком If-Modified, чтобы использовать кэшированные копии.

Вы уверены, что браузер не работает правильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...