Битрикс по умолчанию юзает версию jquery 1.8, чтобы заменить ее на любую другую нужно произвести ее перерегистрацию.
Для этого в файле Init.php добавляется следующий обработчик:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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 = array( '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;
далее в шаблоне сайта или в каком либо компоненте:
1 2 3 |
<? CJSCore::Init('jquery'); ?> |
и больше не надо нигде никаких:
1 |
$APPLICATION->AddHeadScript(SITE_TEMPLATE_PATH . '/js/jquery-1.12.4.min.js'); |
или
1 |
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> |
Спасибище!
Добрый день! А если нет файла init.php? Я создал его сам, написал по вашему рецепту, но всё ровно показывается версия 1.8.3 у jquery.
Его надо создавать в папке /bitrix/php_interface/init.php