Austausch von DOM-Mutationsereignissen
Da die DOM-mutation ist als veraltet markiert von der w3c (siehe http://www.w3.org/TR/DOM-Level-3-Events/#events-mutationevents), gibt es eine (schnelle) alternative Möglichkeit zu erkennen, Attribut-änderung in den DOM ?
InformationsquelleAutor der Frage Franck Freiburger | 2011-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soweit ich weiß, gibt es keine alternative (noch) so stecken Sie mit
DOMAttrModified
die nur unterstützt in Firefox und Opera. Im IE haben Sie dieonpropertychanged
Veranstaltung aber es gibt keinen Weg, um eine ähnliche Funktionalität in Chrome/Safari. Es gibt eine Reihe von Dingen, die Sie tun könnten, je nachdem, was Sie versuchen zu erreichen und die Browser, die Sie sind welche:document.createAttribute
attributes.setNamedItem
...Habe ich gearbeitet, auf ein cross-browser-Lösung selbst, aber ohne viel Erfolg. Sie sollten bleiben Weg von mutation Ereignisse alle gemeinsam, denn Sie sind nicht cross-browser-und sehr langsam.
Es gibt gute Gründe, warum Sie veraltet sind. Wenn Sie mehr erfahren möchten, Lesen Sie diese:
InformationsquelleAutor der Antwort Renaat De Muynck
Dem Grund, dass die mutation events war veraltet war, weil der große performance-Probleme.
Ist der Ersatz Mutation BeobachterBlick auf http://updates.html5rocks.com/2012/02/Detect-DOM-changes-with-Mutation-Observers und https://developer.mozilla.org/en/DOM/DOM_Mutation_Observers
Informationen über Mutationen geliefert wird, die dem Betrachter als eine geordnete Folge von MutationRecords, die eine beobachtete Folge von Veränderungen, die stattgefunden haben
Beispiel für die Nutzung:
Unterstützt wird dies in Chrome 18 und Firefox und Webkit nightly builds. Firefox 14 wird auch die Unterstützung dieser Funktion.
InformationsquelleAutor der Antwort ama2
Ein großartiger Ersatz für die veralteten DOM* Ereignisse ist
animationStart
in Verbindung mit CSS-Animationen. David Walsh schreibt über die Methode.Richten Sie zunächst die keyframes aus, und wenden Sie Sie auf die Elemente, die Sie hören möchten, für (vergessen Sie nicht die vendor-Präfixe!):
Fügen Sie anschließend den Hörer:
Ta-da! Hier ist David ' s demo. Es funktioniert großartig für mich auf eine Chrome-Erweiterung, die fügt Facebook Bilder, Google Voice (siehe Inhalt.css und injected.js).
InformationsquelleAutor der Antwort Andres Riofrio
Ein Jahr späteres gibt die neue und glänzende
Mutation Beobachter
von DOM Level 4 (Folgen Sie den links, es gibt eine Menge erklären!). Wo einMutation Event
gefeuert tausendmalMutationObserver
feuert nur einmal mit den enthaltenen änderungen und zugänglich.Werke für (wie der 2017/03):
window.WebKitMutationObserver
)window.WebKitMutationObserver
)InformationsquelleAutor der Antwort Petr Janeček