Принудительное обновление JavaScript и CSS у пользователя
Всем привет!!
Разираюсь с nginx и включил кеширование статичных файлов, ну там скриптов, CSS, картинок и т.д на стороне пользовательского браузера. Так вот, когда я меняю что-то в CSS или javascript, то изменения не применяются пока не нажать последовательно CTRL+R CTRL+F5. Только тогда браузер скачивает новые скрипты и стили. Ладно я могу так сделать пока тестирую и разрабатываю сайт, но пользователь же так не будет делать, да и возможно не знает о таком. Как можно заставить пользовательский браузер обновить эти файлы, когда включено кеширование?
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.Вам це подобається? Поділіться в соціальних мережах!
- Akiv Doros
- 11 листопада 2024 р. 14:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50бали,
- Рейтинг балів-4
- molni99
- 26 жовтня 2024 р. 01:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80бали,
- Рейтинг балів4
- molni99
- 26 жовтня 2024 р. 01:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20бали,
- Рейтинг балів-10
Чтобы обновить javascript или CSS файлы, необходимо, чтобы url этих файлов немного отличался. Но для этого вовсе не обязательно менять имя самого файла. Можно просто добавлять в url знак вопроса и число. Тогда браузер при скачивании страницы обнаружит, отличающийся url и загрузит обновлённый скрипт заново. В HTML коде это будет выглядеть так:
Таким образом, когда вы выкатываете новую версию скрипта или стилей, достаточно будет поменять число, например увеличить на единицу.
Было:
Стало:
Кто-то ещё делает автоматический расчёт контрольной суммы и добавляет её вместо вручную введённой цифры. Расчёт делается сервером, но это только добавит нагрузку на мой взгляд, которая не имеет смысла. Скриптов всё равно может быть не так уж и много, что можно вручную поменять пару циферок. Во всяком случае на небольшом ресурсе это можно сделать и вручную, а на крупном проекте новые обновления не так часто выкатываются, что можно также поменять пару циферок.
К слову говоря, например, ВКонтакте по всей видимости так и делают, если взглянуть на url их скрипта openapi.js, который служит для добавления всяких виджетов на сайты.