2012-03-19 15 views
5

Mi extensión de Chrome debe modificar un elemento DOM antes de que DOM esté completamente construido, y en el mejor escenario, justo después de que se construya este elemento DOM.Extensión de Chrome: modifique DOM antes de cargar

Por ejemplo, si tengo una en mi documento, quiero esperar hasta que se construya, luego modificarla directamente, antes de que se construya el resto del DOM.

Pero solo logré acceder al DOM antes de que se construya el elemento y después de que se haya construido todo el DOM.

Entonces, ¿cómo escucho la construcción de un elemento especial?

Respuesta

3

Puede usar document.addEventListener con el evento DOMNodeInserted. Los nodos se construirán y tendrá la posibilidad de modificarlos antes de que se inserten en el DOM. Algo como lo siguiente debería funcionar.

function nodeInsertedCallback(event) { 
    console.log(event); 
}; 
document.addEventListener('DOMNodeInserted', nodeInsertedCallback); 

 

+0

También podría incluir jQuery y utilizar $ (function() {}) que se ejecutará después de que el DOM se ha creado, antes de que la página se ha cargado. – jjNford

+0

Gracias por su ayuda. Este evento se desencadena antes de que DOM esté completamente construido, pero no me permite modificar el contenido DOM antes de que se muestre. Solo se desencadena para elementos agregados dinámicamente por scripts. –

+1

El evento DOMNodeInserted está en desuso. Use [Mutation Observers] [1] en su lugar. [1]: https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver – Ignat

Cuestiones relacionadas