Регистрация jQuery по событию
Битрикс обновление jquery (регистрация новой версии)
3 комментария
Битрикс по умолчанию юзает версию jquery 1.8, чтобы заменить ее на любую другую нужно произвести ее перерегистрацию.
Для этого в файле Init.php добавляется следующий обработчик:
AddEventHandler("main", "OnPageStart", "registerJqueryHandler");
function registerJqueryHandler()
{
//Hack: when init first extension - bitrix register standart extensions
$emptyHack = [
'css' => "",
'skip_core' => true,
];
\CJSCore::RegisterExt('emptyHack', $emptyHack);
\CJSCore::Init('emptyHack');
$arJSLib = [
'js' => '/bitrix/js/main/jquery/jquery-1.12.4.min.js',
'skip_core' => true
];
\CJSCore::RegisterExt('jquery', $arJSLib);
}
emptyHack
— для обхода некого битрикс бага касательно первого CJSCore::Init();
/bitrix/js/main/jquery/jquery-1.12.4.min.js
— это путь до jquery файла с новой версией загруженного на сервер или с googleapis;
далее в шаблоне сайта или в каком либо компоненте:
<?
CJSCore::Init('jquery');
?>
и больше не надо нигде никаких:
$APPLICATION->AddHeadScript(SITE_TEMPLATE_PATH . '/js/jquery-1.12.4.min.js');
или
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>