Принудительное обновление кэша браузера для нескольких ресурсов (CSS и Javascript) - PullRequest
5 голосов
/ 16 января 2012

Я занимаюсь разработкой веб-сайта, который в настоящее время находится на стадии тестирования.

Всякий раз, когда я делаю некоторые существенные изменения в Javascript и CSS, мои тестеры сообщают мне о множестве новых ошибок, некоторые из которых довольно серьезны. Однако все они вызваны тем, что браузеры кэшируют JS-скрипты и CSS-файл и используют старые версии с новым HTML. Кроме того, поскольку это тестовая версия, у меня есть около 10 отдельных файлов JS, связанных с тегами <script type="text/javascript" src="..."></script>. Можно обновить таблицу стилей вручную, но попросить тестировщиков просмотреть каждый файл JS и обновить его - это слишком много.

Есть ли способ сообщить браузеру, что связанные файлы были обновлены и требуют перезагрузки?

Ответы [ 2 ]

8 голосов
/ 16 января 2012

Добавьте «кэш-нарушитель» в URL, т.е. добавьте параметр строки запроса.

<script src="foo.js"></script>

становится

<script src="foo.js?v=1"></script>

Если вы делаете поэтапные выпуски, вы можете просто использовать версию выпуска в качестве средства уничтожения кеша.

1 голос
/ 16 января 2012

Как насчет добавления случайной строки к имени файла? Например, отметка времени.

style.css?123456

Это должно помочь.

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