Как убрать js и css файлы ядра
Часть можно убрать отключив галочки в настройках модуля, часть только вырезав при завершении буферизации страницы.
Можно отключить настройки главного модуля:
- Распространять куки на все домены
- Использовать сервис рекомендаций товаров
- Включить богатые ссылки и Сохранять изображения локально
- Использовать защищенное хранение авторизации в cookies
- Распространять авторизацию на все домены
- Передавать пароль в зашифрованном виде
- Продлевать сессию при активности посетителя в окне браузера
- Продлевать сессию только для авторизованных посетителей
- Показывать пользователям сообщение об окончании сессии
Для отключения сбора статистики, нужно в файл /bitrix/.settings.php добавить код:
'analytics_counter' => array( 'value' => array( 'enabled' => false, ), ),
Отключение настроек не убирает все файлы, поэтому надежнее вырезать сам код вставки со страницы.
В файле init.php добавляем обработчик события OnEndBufferContent, в котором регулярками вырезаем теги link и script части ядра.
\Bitrix\Main\EventManager::getInstance()->addEventHandler("main", "OnEndBufferContent", "deleteKernelCss"); function deleteKernelCss (&$content) { global $USER; if ($USER && !$USER->IsAuthorized()) { $arPatternsToRemove = Array( '/<link.+?href=".+?kernel_main\/kernel_main_v1\.css\?\d+"[^>]+>/', '/<link.+?href=".+?bitrix\/js\/main\/core\/css\/core[^"]+"[^>]+>/', '/<script.+?>if\(\!window\.BX\)window\.BX.+?<\/script>/', '/<script[^>]+?>\(window\.BX\|\|top\.BX\)\.message[^<]+<\/script>/', '/<script.+?src=".+?bitrix\/js\/main\/core\/core[^"]+"><\/script\>/', '/<script.+?>BX\.(setCSSList|setJSList)\(\[.+?\]\).*?<\/script>/', '/BX\.(setCSSList|setJSList)\(\[.+?\]\);/', '/\s{2,}/' ); $content = preg_replace($arPatternsToRemove, " ", $content); } }
Учтите, что нельзя делать это бездумно, часть функционала отвалится, возможно будут js ошибки. Под каждый сайт скрипт нужно подстраивать. Как минимум в персональном разделе его использовать не стоит. Это костыль, за котором придется следить, но без него файлы ядра не убрать.
Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.