Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2019, 20:15   #1
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию Найти источник изменения HTML-кода

Здравствуйте. Есть сайт, на котором при определённых действиях добавляются и удаляются элементы. Мне нужно отследить, из какого скрипта происходят эти изменения. У нужных мне элементов нет ничего похожего на onclick/onchange и т. д. Где ещё могут находиться ссылки ?
Нужно мне это для того, что бы по вставлять туда своих костылей, ввиду абсурдных требований заказчика.
На примере этой страницы - нужно отследить кто добавляет/удаляет элемент цены выбранной вариации.
Как это делать ?
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 08.04.2019, 22:53   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

обычно привязка к id/class, сами изменения прозводят скрипты JS
типа
Код:
jQuery('.res-step-four').click(function(){
		if(!jQuery(this).hasClass('active')){
			jQuery(".res-steps").removeClass('active');
конкретно про размер надо отслеживать по #pa_size - в самом коде страницы не вижу, скорее всего где-то в подключенных к странице js
ADSoft вне форума Ответить с цитированием
Старый 09.04.2019, 06:09   #3
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
обычно привязка к id/class, сами изменения прозводят скрипты JS
Как тогда должны эти скрипты вызываться ?
У меня только одно предположение: отслеживание таймерами. Может я не шарю ... Но скрипт вроде как вызывается из события на странице. Так по крайней мере должно быть. В данном случае я ищу точку входа, или конкретное место из которого происходит изменение. Первое в явном виде нигде не задано, второе - парсинг по селекторам тоже ничего не дал.

От меня требуют реализовать то что есть, только "во множественном числе" - что бы пользователь мог отправить в корзину несколько вариаций без перезагрузки страницы. Не спрашивайте зачем.
В целом логику я уже продумал, в частности - после клонирования формы, при работе с ней она (новая форма) не реагирует как должна.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 09.04.2019, 06:24   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Подписка на события, нативно через add_listener, если через jQuery, то пример был выше.
ADSoft вне форума Ответить с цитированием
Старый 09.04.2019, 06:49   #5
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
Подписка на события, нативно через add_listener, если через jQuery, то пример был выше.
Да я так и понял ... Замутил на тестовой странице сразу два нужных элемента - и оба работают исправно, если они изначально присутсивуют на странице. Теперь же нужно найти, где выполняется эта подписка на события ... И пинать её каждый раз при выполнении кода дублирования.

UPD: в порядке бреда попробовать - может есть возможность заставить выполнить все скрипты на странице без перезагрузки ?
Подпись ? Не, не слышал ...

Последний раз редактировалось OmegaBerkut; 09.04.2019 в 06:57.
OmegaBerkut вне форума Ответить с цитированием
Старый 09.04.2019, 08:12   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

если имеется ввиду что для динамически добавляемых элементов слушатель не работает, то в JQuery используют on
Код:
$('body').on("click','selector',function() {
 // body script
});
ADSoft вне форума Ответить с цитированием
Старый 09.04.2019, 08:22   #7
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

ADSoft, проблема была в том, что после клонирования новому элементу не переходят события (Event Listeners) от оригинала.
По указанной ссылке есть файл add-to-cart-variation.min.js, который выполняет привязку этих событий. Там одна большая анонимная функция.
Эту функцию я взял, скопировал, дал ей название, и вызываю из своего скрипта. Теперь в плане событий всё работает как надо.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 09.04.2019, 08:27   #8
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

ну если все хорошо и работает - то и отлично )
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
(html, css,js) Не могу найти файл для изменения параметров Мефисто Помощь студентам 1 14.11.2016 07:36
Как найти файл (шаблон страницы) для правки HTML кода Konstantin C PHP 1 02.05.2013 19:29
Источник знаний по кодировкам их объявлениям в html php и подобных файлах. vedro-compota HTML и CSS 2 12.10.2010 19:16
Найти источник света в 3d =Student= Мультимедиа в Delphi 0 17.05.2010 08:25
как найти источник ошибки? SoLL Общие вопросы Delphi 5 02.10.2009 16:58