Как удостовериться, кэшируемый JavaScript и файлы CSS перезагружаются?

Кто-либо мог объяснить, как удостовериться, что, если я обновляю свое веб-приложение, пользователь получает последнюю версию файлов?

Если я добавляю динамическую строку ?version=random в конце файлов сценария и CSS и изменения это, поскольку я развертываю обновления? Или что такое общая стратегия здесь?

Спасибо, Boda Cydo.

7
задан bodacydo 31 January 2010 в 21:30
поделиться

3 ответа

Да, как вы упоминаете, очень часто и является прочным подходом.

Я лично использую номер ревизии Subversion моих файлов, но вы можете использовать для вас что-нибудь значимое, даже последнее обновленное замедленное изменение файла.

StackoverFlow использует номер ревизии SVN:

<script type="text/javascript" src="http://sstatic.net/so/js/master.js?v=6180">
</script> 
4
ответ дан 7 December 2019 в 03:15
поделиться

Я обычно ставлю ? Mime в конце имени для изображений, файлов CSS и файлов JavaScript, где Mime - это последнее измененное время файла.

Вы можете альтернативно использовать номер версии, который увеличивается всякий раз, когда файл изменен. Это хорошо работает для библиотек, таких как jQuery, которые имеют официальные выпуски, но имеют тенденцию быть более утомительным, чем требуется для файлов вашего собственного сайта, которые просто изменены по мере необходимости. Конечно, вы все еще можете использовать номера версий в этом случае, но я склонен, чтобы найти ее излишне утомительно (что-то еще, что вам нужно поддерживать).

1
ответ дан 7 December 2019 в 03:15
поделиться

Как вы сами упомянули, добавление строки запроса в URL-адрес таблицы стилей / скрипта - это изящный трюк, позволяющий получить контроль над тем, когда кэшированные версии «недействительны».

Вместо того, чтобы добавлять случайную строку, я обычно использую дату последней модификации соответствующего файла из файловой системы. Чтобы улучшить коэффициент крутости, вы можете преобразовать дату в числовую форму и отформатировать ее в шестнадцатеричном формате при построении URL: -)

<script type="text/javascript" src="script.js?v=1750493C88"></script>
<link rel="stylesheet" type="text/css" href="style.css?v=1750493C88" />
0
ответ дан 7 December 2019 в 03:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: