Рубрики
FrontEnd JavaScript Программирование

Дождаться когда элемент появиться на странице

Иногда скрипт должен дождаться появления определенного элемента на странице. Например сторонние приложение может добавить элемент после того как страница была полностью загруженна. По этому подход с прослушиванием загрузки страницы не подойдет в этом случае. Ниже представлен скрипт который срабатывает при появлении нужного элемента

function waitForElm(selector) {
    return new Promise(resolve => {
        if (document.querySelector(selector)) {
            return resolve(document.querySelector(selector));
        }

        const observer = new MutationObserver(mutations => {
            if (document.querySelector(selector)) {
                resolve(document.querySelector(selector));
                observer.disconnect();
            }
        });

        observer.observe(document.body, {
            childList: true,
            subtree: true
        });
    });
}

waitForElm('.some-class').then((elm) => {
    console.log('Element is ready');
    console.log(elm.textContent);
});
Code language: JavaScript (javascript)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *