208 похожих чатов

Доброе утро всем. Подскажите плз, кто в курсе. Есть стандартный компонент

news. В настройках стоит использовать режим Ajax. В шаблоне сайта подключается CJSCore::Init(["jquery3"]); , то есть jquery-3.3.1.min.js из ядра. Далее подключаются различные нужные плагины jquery. Когда происходит фильтрация новостей запросом ajax срабатывает script.js шаблона компонента, Вываливается ошибка "Uncaught TypeError: jQuery(...).contentPopup is not a function" и следующий клик по фильтру срабатывает не в режиме ajax, а просто перекидывает на страницу, где отображается результат запроса (голый отфильтрованный код компонента без хедера и футера).

Раскопал, что дело в том, что изначально подключаем jquery-3.3.1, цепляем к нему все плагины. А при фильтрации почему-то битрикс подключает jquery-1.8.3, и естественно все плагины слетают. Ну и дальше из-за js ошибки ничего нормально не работает.

Скрипты, которые после ajax фильтрации подключаются, берутся тут:
\bitrix\modules\main\classes\general\component_ajax.php

из $APPLICATION->arHeadScripts. Принтанул их:
Array
(
[0] => /local/templates/temp/components/bitrix/news/temp/bitrix/catalog.filter/.default/script.js
[1] => /local/templates/temp/components/bitrix/news/temp/bitrix/news.list/.default/script.js
[2] => /bitrix/js/main/jquery/jquery-1.8.3.min.js
)

При этом в шаблоне нигде нет подключения CJSCore::Init(["jquery"]); (первой версии из ядра)

Варианты исправления косяка, которые точно сработают:
1) Удалить файл /bitrix/js/main/jquery/jquery-1.8.3.min.js. Он не сможет подключаться и ломать jquery, всё будет работать хорошо.
2) Отказаться от использования встроенного режима ajax и написать кастомную ajax фильтрацию.

Оба варианта рабочие, но хочется сделать, чтобы всё работало нормально, стандартно и без костылей.

Что я хочу: найти, какая зараза подключает jquery-1.8.3 и отключить это к хренам. Найти никак не удалось, откуда идёт подключение. Кто-нибудь сталкивался? Как можно отыскать источник подключения?

2 ответов

22 просмотра

Странная штука. У меня не было конфликтов в типовом ajax и подключении jquery2 из ядра. Можно попробовать CJSCore::Init(["jquery3"]) не в шапке, а в шаблоне компонента или в result_modifier.php

Ivan-Milov Автор вопроса
Alexey Nazarov
Странная штука. У меня не было конфликтов в типово...

Спасибо. Я нашёл виновника. https://marketplace.1c-bitrix.ru/solutions/uplab.tilda/#tab-install-link в include.php подключает.

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Карта сайта