如何将 HTML 元素附加到 telegra.ph P 元素?
P粉949848849
P粉949848849 2024-03-19 22:34:42
0
1
445

我正在构建一个 chrome 扩展,我想向此电报页面附加一些元素,似乎只成功附加了文本,而不是整个 HTML。

const span = document.createElement("span");
span.innerHTML = '<span class="xxx">Foo,bar</span>';
const p = document.querySelector("p");
p.appendChild(span);

P粉949848849
P粉949848849

全部回复(1)
P粉231079976

正如评论中所建议的那样,我验证了自己,实际上有一个 MutationObserver 当某些代码试图在文档树中的某个点改变某些内容时,它会实时更改 dom。

因为没有标准方法来查找在 dom 上监听的实时 MutationObservers 实例(如果有的话),除非您可以努力查找保存该对象的变量在哪个范围内;最快的方法是用它的克隆替换 body 元素,所有 MutationObserver 都会消失。

document.body = document.body.cloneNode(true);

完成此操作后,当您尝试将元素附加到 dom 时,它将按预期进行相应更改,而不会受到干扰。

平心而论...

在寻找如何获取实时 MutationObserver 实例或解决该需求的工作方法是什么时,在 Stack Overflow 答案中找到了最后的线索?

是有没有办法从项目中删除所有的mutationObservers而不引用它?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板