Использование функции антикэш
03.10.2025
Задание
При обновлении JS и CSS файлов браузер игнорирует изменения и загружает устаревшие версии. Требуется реализовать механизм, при котором новые файлы применяются автоматически при загрузке, а если файлы не менялись, загрузки не происходит.Состав сборки
Для выполнения задачи нам потребуются:- Ядро системы версии 2.07i
Сборка
Чтобы решить проблему, воспользуемся следующим путем: перейдем в Настройки → Кэширование сайта → Редактировать список антикэша и добавим туда соответствующие записи для JS и CSS файлов с именем main.

Затем отправимся в Настройки → Шаблоны сайта → Редактировать шаблон (main.tpl), где вставим необходимые конструкции:

- Для JS файла: <TMPL_IF NAME="jcms_anti_cache_js_main"><TMPL_VAR NAME="jcms_anti_cache_js_main"></TMPL_IF>
- Для CSS файла: <TMPL_IF NAME="jcms_anti_cache_css_main"><TMPL_VAR NAME="jcms_anti_cache_css_main"></TMPL_IF>
<script type="module" crossorigin src="/js/main.js?RabeOMmVhr4YCaYj/khZ5SYrWMyVhq74ycCTjmhMsKOLeFmQptsteeXD7u"></script>
<link rel="stylesheet" crossorigin href="/css/main.css?RabeOMmVhr5YGVYj/khZ5SYrWMyVhq74ycCTjmhMsKOLeFmQptsteeXD7u">
Таким образом, благодаря добавлению параметра антикэша, при изменении содержимого указанных файлов уникальная строка изменяется, заставляя браузер воспринимать их как новые.
Демонстрационная версия сборки доступна в демо-центре https://demo.jcms.ru и по адресу https://demo-furniture-factory.jcms.ru (логин/пароль - demo/demo).