2012-03-19 10 views
5

Moje rozszerzenie Chrome powinno zmodyfikować element DOM, zanim DOM zostanie w pełni skonstruowany, iw najlepszym wypadku zaraz po skonstruowaniu tego elementu DOM.Rozszerzenie Chrome: Modyfikuj DOM przed wczytaniem

Na przykład, jeśli mam dokument w moim dokumencie, chcę poczekać, aż zostanie on skonstruowany, a następnie bezpośrednio go zmodyfikować, zanim skonstruuje się resztę DOM.

Ale udało mi się uzyskać dostęp do DOM tylko przed zbudowaniem elementu i po zbudowaniu całego DOM.

Jak mogę słuchać konstrukcji specjalnego elementu?

Odpowiedz

3

Możesz użyć document.addEventListener z wydarzeniem DOMNodeInserted. Węzły zostaną zbudowane i będziesz miał szansę ich zmodyfikować, zanim zostaną wstawione do DOM. Powinno zadziałać coś takiego.

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

 

+0

Można także użyć jQuery i $ (function() {}) należy uruchomić po DOM został stworzony, zanim załadowaniu strony. – jjNford

+0

Dzięki za pomoc. To zdarzenie jest wywoływane, zanim DOM jest w pełni skonstruowany, ale nie pozwala mi modyfikować zawartości DOM przed jej wyświetleniem. Uruchamia tylko element dynamicznie dodawany przez skrypty. –

+1

Zdarzenie DOMNodeInserted jest przestarzałe. Zamiast tego użyj [Obserwatorów Mutacji] [1]. [1]: https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver – Ignat