Перейти к содержанию
IPS Invision Community 🇷🇺

Как убрать? В подключаемых файлах JS и CSS


TemKa_SD

Рекомендуемые сообщения

Опубликовано

Здравствуйте. Занялся оптимизацией форума. Помогите переписать функцию, которая добавляет v=случайныебокафки для кеширования контента браузером.

Google рекомендует указывать другое имя файлу при его изменении, в этом есть несколько плюсов: https://developers.google.com/speed/docs/insights/LeverageBrowserCaching#LeverageProxyCaching.

Мне нужно из ссылки: 

/uploads/javascript_global/root_library.js.b7e139f229b0bb2de8a090b97d90d5e2.js?m=4e52a1ea3c

Сделать:

/uploads/javascript_global/root_library_4e52a1ea3c.js.b7e139f229b0bb2de8a090b97d90d5e2.js

т.е перенести _4e52a1ea3c - случайный набор букафициферак в другое место и убрать знак вопроса.

 

Я нашел где эта функция находится:

АЦ > Внешний вид > Редактирование HTML && CSS > Core > Global > Global > includeJS.

Здесь у нас вот этот участок кода за всё это отвечает:

{{foreach array_unique( array_filter( \IPS\Output::i()->jsFiles ), SORT_STRING ) as $js}}
{{$js = \IPS\Http\Url::external( $js );}}
<script type='text/javascript' src='{{if $js->data['host'] == parse_url( \IPS\Settings::i()->base_url, PHP_URL_HOST )}}{expression="$js->setQueryString( 'v', \IPS\CACHEBUST_KEY )"}{{else}}{expression="$js"}{{endif}}' data-ips></script>
{{endforeach}}

В целом всё понятно, исходная ссылка:

{{$js = \IPS\Http\Url::external( $js );}}

Условие, если ссылка нашего сайта:

{{if $js->data['host'] == parse_url( \IPS\Settings::i()->base_url, PHP_URL_HOST )}}

То самое условие что нам нужно заменить:

{expression="$js->setQueryString( 'v', \IPS\CACHEBUST_KEY )"}

 

Создайте учетную запись или войдите, чтобы комментировать

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти
×
×
  • Создать...