Отслеживание событий аналитики работает на консоли, но не на WP - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь отследить сообщение об успешном заполнении формы в Wordpress, поэтому я создал приведенный ниже код для плагина, который позволяет настраивать JS. Моя проблема в том, что он работает при вставке прямо на консоль, но когда я добавляю его на сайт, он не работает. Я вижу код на странице источника, но он не срабатывает.

            jQuery(document).ready(function( $ ){
                if(jQuery('.alert-success').text().length > 0){
                ga('send', 'event', 'form', 'submit');
            }
            });

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 11 мая 2018

Если вы видите код и не получаете консольных ошибок, это означает, что ваш оператор if возвращает false - в этом случае это означает, что .alert-success не имеет внутреннего текста при загрузке документа, что когда это происходит.

Если .alert-success изменяется в зависимости от события, которое вы пытаетесь отследить, этот код не будет его обнаруживать, потому что он не "живой", он срабатывает один раз, когда страницы загружаются, и все. Вместо этого вам нужно будет связать его с обработчиком событий или событием мутации, таким как

$('body').on('DOMSubtreeModified', ".alert-success", function() {
    if($('.alert-success').text().length > 0){
        ga('send', 'event', 'form', 'submit');
    }
});

Хотя в идеале этот код должен запускаться в том же обработчике событий, который вы пытаетесь отслеживать (отправка формы, запрос ajax завершен и т. Д.)

...