Домой Wp-Recall WP-Recall: Проблемы и решения При ajax загрузке вкладки - грузит повторно jquery
6ответ(ов) в теме
Вова (Otshelnik-Fm)
не в сети 2 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
1
14:47
Версия WP-Recall: 16.24.45

Реколл последней версии и с базовыми дополнениями. Никаких сторонних нет.
Вордпресс 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 ядро

0
Вова (Otshelnik-Fm)
не в сети 2 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
2
14:56

в общем беда вот в чем - на вкладки переходя: "группы", "публикации" - jquery повторно не грузится. Свою произвольную вкладку с простым текстом создал - тоже нет дубля jquery. А вот перейдя в вкладку "чат" - для написания личного сообщения jquery грузятся - со всеми последующими.
Копаю дальше - влияет на это поведение настройка для чата "Прикрепление файлов" "да". Как только выключаешь - дублирующийся jquery не загружается.

Получается что эта повторная загрузка ломает общение в чате если есть в чате возможность прикреплять файлы. Я так понимаю очередность подключения зависимых от jquery скриптов нарушается. т.к. jquery грузится повторно уже после моих скриптов. А мои скрипты были загружены ранее через html загрузку страницы - еще до перехода по вкладке с ajax

Андрей если от меня надо еще какую инфу - пиши.

0
Вова (Otshelnik-Fm)
не в сети 2 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
3
16:22

В одном случае выяснил - становится недоступным реколл функция для работы с куками:
В свой 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 тоже теряется.

В общем хочется понять - это проблема на моей стороне - или всё же в плагине подправить нужно? А то получится как с

Вы не можете просматривать опубликованные ссылки

- в итоге в ядре плагина нелогичность была

Редакции сообщения
29.04.2021 16:22Владимир (Otshelnik-Fm)Причина: не указано
2
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
4
19:05

спасибо, посмотрю на выходных

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
5
18:00

Проверь плз работу версии 16.24.46 из гитхаба

0
Вова (Otshelnik-Fm)
не в сети 2 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
6
18:29

Вот теперь всё отлично! спасибо!

0
Вы не имеете права на публикацию сообщений в этой теме