Показать сообщение отдельно
  #8 (permalink)  
Старый 22.04.2020, 19:39
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Сообщение от selevo
Как отследить что появилось оверлейное окно ?
Есть такая штука - MutationObserver

Вот накидал:
function clikOKdelete() {
    console.log('Появилось окно');

    let btnOK = document.querySelector('button.next-btn.next-btn-primary.next-dialog-btn');

    console.log(btnOK);

    let eventClick = new Event('click');
    btnOK.dispatchEvent(eventClick);
}

var mutationObserver = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {
        if(mutation.oldValue == 'next-dialog next-closeable next-overlay-inner fadeInDown') {
            clikOKdelete();
        }
    });
});

mutationObserver.observe(document.documentElement, {
    attributes: true,
    characterData: true,
    childList: true,
    subtree: true,
    attributeOldValue: true,
    characterDataOldValue: true
});


Не пойму почему событие клика из dispatchEvent не срабатывает. А так логи расставил - обнаружение срабатывает правильно.
Ответить с цитированием