Думаю многим знакома проблема, когда после установки модов, у половины пользователей не работает новый функционал. Да, понятно дело что если пользователь бывалый, то догадается прожать Ctrl + F5 чтобы очистить закэшированные скрипты / стили, на крайняк можно опубликовать пост у себя на ресурсе, мол прожмите такую-то комбинацию и будет вам счастье!
Но один вопрос, зачем всё это? Зачем публиковать лишние посты и оставлять часть не опытных пользователей с старой версией сайта? На этот случай есть одно очень простое решение, о котором многие пользователи TP не догадываются.
Думаю многие в файле config.php замечали такую хитрую строчку в самом верху:
Как раз таки она и отвечает за то, чтобы избавить пользователей от нужды прожимать Ctrl + F5. 1 - это номер версии файла main.js и main.css. Этот самый номер версии подставляется пользователю, и в кэше файлы стилей и скриптов тоже содержит цифру версии.
Выглядит это примерно вот так в инспекторе:
параметр на конце ?v=1 как не сложно догадаться соответствует версии прописаной в конфиге.
Следователь, если у пользователя закэширован ваш сайт ранее, то версия у него будет например ?v=1, после того как вы обновите версию (например на 2), то пользователю браузер подрузит файл уже не main.css?v=1 а main.css?v=2, а это по мнению браузера два разных файла, следовательно подрузить надо тот что с номером ?v=2 (ибо ранее файла с таким номером версии не было), и тем самым пользователь получит актуальные файлы без необходимости чистить кэш браузера каждый раз.
Поэтому, возьмите за правило, что после каждой установки нового / новых модов (разом), надо обновлять циферку в переменной. Это облегчит жизнь вам и вашим пользователям.
Всем успехов!
Но один вопрос, зачем всё это? Зачем публиковать лишние посты и оставлять часть не опытных пользователей с старой версией сайта? На этот случай есть одно очень простое решение, о котором многие пользователи TP не догадываются.
Думаю многие в файле config.php замечали такую хитрую строчку в самом верху:
PHP:
// Increase number after changing js or css
$bb_cfg['js_ver'] = $bb_cfg['css_ver'] = 1;
Как раз таки она и отвечает за то, чтобы избавить пользователей от нужды прожимать Ctrl + F5. 1 - это номер версии файла main.js и main.css. Этот самый номер версии подставляется пользователю, и в кэше файлы стилей и скриптов тоже содержит цифру версии.
Выглядит это примерно вот так в инспекторе:
HTML:
<link rel="stylesheet" href="https://torrentpier.duckdns.org/styles/templates/default/css/main.css?v=1" type="text/css">
Следователь, если у пользователя закэширован ваш сайт ранее, то версия у него будет например ?v=1, после того как вы обновите версию (например на 2), то пользователю браузер подрузит файл уже не main.css?v=1 а main.css?v=2, а это по мнению браузера два разных файла, следовательно подрузить надо тот что с номером ?v=2 (ибо ранее файла с таким номером версии не было), и тем самым пользователь получит актуальные файлы без необходимости чистить кэш браузера каждый раз.
Поэтому, возьмите за правило, что после каждой установки нового / новых модов (разом), надо обновлять циферку в переменной. Это облегчит жизнь вам и вашим пользователям.
Всем успехов!
Последнее редактирование: