JavaScript - 等待使用 Chrome 扩展在网站上加载元素

Den*_*llà 4 html javascript

我正在开发一个 Chrome 扩展程序,可以单击网站上的元素,但某些元素在检查后出现,并且代码不起作用。我需要让该函数等待,直到加载所选元素

并且不要像函数那样等待几秒钟的延迟setTimeout

我该怎么做?

aPr*_*ger 19

可以使用MutationObserver来完成:

function handleSomeDiv(someDiv) { 
    console.log("div was handled");
}

const observer = new MutationObserver(function (mutations, mutationInstance) {
    const someDiv = document.getElementById('some-div');
    if (someDiv) {
        handleSomeDiv(someDiv);
        mutationInstance.disconnect();
    }
});


observer.observe(document, {
    childList: true,
    subtree:   true
});
Run Code Online (Sandbox Code Playgroud)