js
(async () => {
observeToolbar((el)=>{
console.log(el,'toolbar');
});
// 监听toolbar被添加
function observeToolbar(callback) {
// 创建一个观察者实例并传入回调函数
const observer = new MutationObserver((mutationsList, observer) => {
for (const mutation of mutationsList) {
if (mutation.type === 'childList') {
// 检查新增的节点
for (const node of mutation.addedNodes) {
if (node.nodeType === Node.ELEMENT_NODE) {
if(node.matches('.protyle-toolbar')){
callback(node);
}
}
}
}
}
});
// 配置观察选项:
const config = {
childList: true, // 观察子节点的变化(添加/删除)
subtree: true, // 观察所有后代节点
attributes: false,
};
// 选择需要观察变动的节点
const targetNode = document.body; // 或者选择更具体的父节点以减少性能消耗
// 开始观察目标节点
observer.observe(targetNode, config);
// 返回一个取消观察的方法
return () => observer.disconnect();
}
})();