TemKa_SD Опубликовано: 8 ноября 2017 Поделиться Опубликовано: 8 ноября 2017 Здравствуйте. Занялся оптимизацией форума. Помогите переписать функцию, которая добавляет 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 )"} Ссылка на комментарий
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас