问题描述
我需要知道何时向页面添加了 div
元素。随时随地,就像处于文档树任何深度的孩子一样。
const { body } = document;
const config = { childList: true,subtree: true };
const callback = function (mutationsList,observer) {
for (const mutation of mutationsList) {
if (mutation.type === 'childList') {
console.log('A child node has been added or removed.');
mutation.addednodes.forEach((node) => console.log(node));
}
}
};
const observer = new MutationObserver(callback);
observer.observe(body,config);
我在页面导航时立即通过扩展程序运行此代码。在加载 Google 搜索结果时,这不会记录其中任何一个的创建。页眉和页脚中只有少数 div,以及几个脚本。我需要在页面上出现任何 div
元素时立即收到通知。
解决方法
observer.observe(body,config);
这是错误的,应该是:
observer.observe(document,config);