Die meisten effiziente Methode zur Erkennung/überwachung DOM verpasst?

Brauche ich einen effizienten Mechanismus für die Erkennung von änderungen an die DOM. Vorzugsweise cross-browser, aber wenn es keine wirksamen Mittel, die nicht cross-browser, kann ich implementieren diese mit einer fail-safe-cross-browser-Methode.

Insbesondere ich brauche, um änderungen zu erkennen, die beeinflussen würde, den text auf einer Seite, so dass jede neue, entfernte oder veränderte Elemente oder änderungen der innere text (innerHTML) erforderlich wären.

Ich habe keine Kontrolle über die änderungen (Sie konnte wegen 3rd-party javascript-includes, etc), also kann es nicht sein, näherte sich aus diesem Blickwinkel - ich muss "monitor" für Veränderungen irgendwie.

Derzeit habe ich implementiert eine "schnelle Lösung" - Methode, die prüft body.innerHTML.length in regelmäßigen Abständen. Dies wird natürlich nicht erkennen, die änderungen, die sich in der gleichen Länge wird zurückgegeben, aber in diesem Fall ist "gut genug" - die Chancen dafür sind äußerst gering, und in diesem Projekt, ohne zu erkennen, die eine änderung nicht zu Datenverlust führen.

Das problem mit body.innerHTML.length ist, dass es teuer ist. Es kann zwischen 1 und 5 Millisekunden auf einem schnell browser, und das Moor kann Dinge nach unten eine Menge - ich bin auch den Umgang mit large-ish Anzahl der iframes und es fügt sich alles. Ich bin mir ziemlich sicher, dass die Kostspieligkeit, dies zu tun ist, weil Sie die innerHTML-text ist nicht statisch gespeichert durch den Browser, und muss berechnet werden aus dem DOM jedes mal, wenn es gelesen wird.

Den Arten von Antworten, die ich bin auf der Suche nach etwas aus der "precise" (z.B. event) , die "gut genug" - vielleicht so etwas wie "schnelle Lösung" als die von innerHTML.length-Methode, aber das wird schneller ausgeführt.

BEARBEITEN:
Ich Weise auch darauf hin, dass, während es wäre "nett" zu erkennen, das genaue element, das geändert wurde, ist es nicht eine absolute Notwendigkeit - nur die Tatsache, dass es alle ändern, würden gut genug sein. Hoffentlich erweitert die Antworten der Leute. Ich werde untersuchen, Mutation-Events, aber ich brauche immer noch ein fallback für IE-Unterstützung, so dass jeder verrückte, kreative, außerhalb-der-Quadrat-Ideen wären sehr willkommen.

Nicht viel Glück das Letzte mal gefragt wurde: stackoverflow.com/questions/648996/...
Ja, ich sah, und Sie haben Recht...nicht so viel Glück. Doch, weil ich nicht verlangen, 100% Genauigkeit, und auch da brauche ich nicht genau zu bestimmen, welches element sich geändert hat, nur, dass es hat eine änderung, ich hoffe, die Leute kommen mit einigen kreativen Lösungen für mich...
Mögliche Duplikate von gibt es eine JavaScript - /jQuery-DOM-änderung Hörer?

InformationsquelleAutor Graza | 2010-03-16

Schreibe einen Kommentar