Chrome扩展:在加载前修改DOM

Ale*_*erg 6 dom google-chrome loading google-chrome-extension

我的Chrome扩展程序应该在完全构造DOM之前修改DOM元素,并且在最佳方案中,在构造此DOM元素之后.

例如,如果我在我的文档中有一个,我想等到它被构造,然后在构造其余DOM之前直接修改它.

但是我只是在构造元素之前和构造完整个DOM之后才设法访问DOM.

那么我该如何倾听特殊元素的构造呢?

abr*_*ham 4

您可以将document.addEventListenerDOMNodeInserted事件一起使用。节点将被构造,并且您将有机会在将它们插入 DOM 之前对其进行修改。像下面这样的东西应该有效。

function nodeInsertedCallback(event) {
  console.log(event);
};
document.addEventListener('DOMNodeInserted', nodeInsertedCallback);
Run Code Online (Sandbox Code Playgroud)

 

  • DOMNodeInserted 事件已弃用。请改用[突变观察者][1]。[1]:https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver (3认同)