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