Реколл последней версии и с базовыми дополнениями. Никаких сторонних нет.
Вордпресс 5.7.1
Как повторить:
1. переходим в лк стороннего пользователя для общения. Вкладка Чат стоит второй.
2. Захожу на неё - она загружается через ajax. И вот именно из-за этого идет подгрузка дублирующего jQuery
А он у нас на странице есть. jquery migrate также грузится повторно.
Теперь возьмём и активируем доп magnific popup - он начнет сбоить - причина в новом дубле jquery и его методах ready - это все повторно грузится. Консоль выдает сразу ошибку.
Выключим magnific popup. Включим direct message - и снова при заходе в чат через ajax загрузку видим проблему.
Повторная загрузка jquery ломает поведение скриптов.
Если я не прав - поправьте меня.
Такое ощущение что тут wp-recall\classes\class-rcl-includer.php
$remove = array( 'jquery', 'jquery-core' );
не работает. В общем надо бы разобраться помочь в чем дело.
Допустим проблема в моих допах. Но это же не логично вновь грузить jquery ядро
в общем беда вот в чем - на вкладки переходя: "группы", "публикации" - jquery повторно не грузится. Свою произвольную вкладку с простым текстом создал - тоже нет дубля jquery. А вот перейдя в вкладку "чат" - для написания личного сообщения jquery грузятся - со всеми последующими.
Копаю дальше - влияет на это поведение настройка для чата "Прикрепление файлов" "да". Как только выключаешь - дублирующийся jquery не загружается.
Получается что эта повторная загрузка ломает общение в чате если есть в чате возможность прикреплять файлы. Я так понимаю очередность подключения зависимых от jquery скриптов нарушается. т.к. jquery грузится повторно уже после моих скриптов. А мои скрипты были загружены ранее через html загрузку страницы - еще до перехода по вкладке с ajax
Андрей если от меня надо еще какую инфу - пиши.
В одном случае выяснил - становится недоступным реколл функция для работы с куками:
В свой js файл добавьте для проверки:
jQuery( 'body' ).on( 'click', 'div', function() { a = jQuery.cookie( "dms_box" ); });
загрузите ЛК и перейдите на вкладку общения (чтоб через ajax загрузилась) - и кликните по любому div-блоку, в консоли будет:
Функция rcl_init_cookie()
из core.js
файла плагина будет недоступна. А именно она работает с куками.
Почему так происходит?
И ведь когда загружаешь чат через html - без ajax и нет дублирующегося jquery -то всё работает нормально.
Я конечно в своем скрипте вызов реколл функции rcl_init_cookie(); вписал. Но что-то это мне кажется костыльное решение, хоть и работает.
А что там с magnific popup - видимо тоже использует что-то из ядра реколл (js функцию) - и при загрузке дублирующегося jquery тоже теряется.
В общем хочется понять - это проблема на моей стороне - или всё же в плагине подправить нужно? А то получится как с
- в итоге в ядре плагина нелогичность была