Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Стили (CSS) » Как пользователю обновить файлы CSS без очистки кеша?

Как пользователю обновить файлы CSS без очистки кеша?


     09.02.2018    css    Все вопросы » Стили (CSS)    3507

вопрос
Внес глобальные изменения в CSS, но они отображаются только если очистить кеш.

Как сделать так, чтобы после изменений CSS не надо было чистить кеш?

Так как внеся эти изменения, пользователь, который ранее посещал сайт и не очистивший кеш, будет не доволен, потому что не будет работать кое-что важное... Знатоки помогите!! Не все чистят кеш!!

Ответил: KoKauH


В файле engine/modules/main.php

после
$tpl->load_template ( 'main.tpl' );

добавить
$tpl->set( '{uniqid}', '?' . uniqid() );

В шаблон main.tpl
style.css{uniqid}

будет выглядеть так:
<link href="{THEME}/style/styles.css{uniqid}" type="text/css" rel="stylesheet" />

После через дня 2-3 может и меньше в зависимости от посещаемости сайта убрать этот код с main.tpl или оставить это по желанию

6 комментариев

KoKauH
Юзер

KoKauH - 9 февраля 2018 21:41 -

***Комментарий удален***

ZeN41k
Юзер

ZeN41k - 9 февраля 2018 22:44 -

а можно немного теории, что обозначает и что происходит?)

Sander
PHP-developer

Sander - 9 февраля 2018 23:05 -

Браузер кеширует файл стилей по указанному адресу.
Добавляя в адрес ?{uniq} мы таким образом сообщаем браузеру что подключается другой файл с другим именем.
Хотя фактически ?{uniq} - это обычная строка get параметров, которая файлом стилей никак не обрабатывается.

Можно, и пожалуй правильнее, просто в main.tpl после окончательного ряда изменений файла стилей добавить номер версии, т.е.
{THEME}/styles/style.css?v1
{THEME}/styles/style.css?v2
...
{THEME}/styles/style.css?v{N}

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

king
Юзер

king - 18 августа 2018 16:59 -

Сделал так, вообще стили перестали подгружаться.
Может быть из-за того, что несколько файлов стилей подключены одной строкой?

Sander
PHP-developer

Sander - 18 августа 2018 17:14 -

Не может, а именно из-за того.
Нужно подключать так:
что-то-там-у-вас&v1

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

KoKauH
Юзер

KoKauH - 9 февраля 2018 23:06 -

можно, каждый раз у Вас на сайте генерируется уникальный код на этот объект, вследствие чего браузер думает, что этой новый файл и постоянно его загружает при обновлении.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх