Dleshka.org
Авторизация

Хак Обновление CSS и JS без очистки кеша

0
TipTop 17-10-2020 Хаки DLE 1 комментарий

Когда вы занимаетесь поддержкой проекта или постоянно вносите изменения в стили/скрипты, то браузерам ваших посетителей нужно подгружать уже обновленные файлы автоматически, а не чистить кеш.

Собственно, сама плюшка:

Идем в /engine/modules/main.php и после:
$tpl->compile ( 'main' );


Вставляем:
### CSS/JS ###
preg_match_all("#<(link|script).+?(href|src)=('|\")(".$config['http_home_url']."|/)(.*?(\.css|\.js))\\3.*?>#i", $tpl->result['main'], $jscssarr);
if(!empty($jscssarr[5])) {
	foreach ($jscssarr[5] as $jscssfile) {
		if (file_exists(ROOT_DIR."/".$jscssfile)) {
			$tpl->result['main'] = str_ireplace($jscssfile, $jscssfile."?v=0.". filemtime(ROOT_DIR."/".$jscssfile), $tpl->result['main']);
		}
	}
}


Теперь вы увидите после каждого файла версию, привязанную к времени последней модификации.
Информация
Зарегистрируйтесь чтобы комментировать публикацию.
hakypuhbiu
18 июня 2021 12:38
+ +2 -
Или просто в main.tpl прописывать так скрипты и стили
<link media="screen" href="{THEME}/style/styles.css?v=1.0" type="text/css" rel="stylesheet" />

И после изменений менять версию.
Авторизация