gpt4 book ai didi

javascript - 影子 dom - 知道 dom 何时呈现/更改

转载 作者:太空宇宙 更新时间:2023-11-04 14:53:28 30 4
gpt4 key购买 nike

我正在编写一个 chrome 扩展程序,它可以在页面加载或更改时修改元素属性。

我使用 Mutation Observer 执行此操作。然而,当加载/更改 shadow-dom(即嵌入的 twitter 帖子)时,不会调用观察者的处理程序。

有没有办法在加载/更改 shadow-dom 时获取事件或将突变观察器 Hook 到它?

谢谢!

最佳答案

您可以简单地observe() 具有 Shadow DOM 的元素的 shadowRoot 属性。

customElements.define('image-list', class extends HTMLElement {
connectedCallback() {
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
//Detect <img> insertion
if (mutation.addedNodes.length)
console.info('Node added: ', mutation.addedNodes[0])
})
})

this.attachShadow({mode: 'open'}).innerHTML = '<img alt="image 1">'

observer.observe(this.shadowRoot, {childList: true})
}

addImage() {
var img = document.createElement('img')
img.alt = ' new image '
this.shadowRoot.appendChild(img)
}
})
<image-list id=LI>
</image-list>
<button onclick="LI.addImage()">Add image</button>

关于javascript - 影子 dom - 知道 dom 何时呈现/更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46995421/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com