Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Mutation Observer ist ein eingebautes Objekt, das auf Änderungen im DOM-Baum achtet und eine Callback-Funktion aufruft oder auslöst, um auf die Änderungen im DOM zu reagieren. Die Beobachtung von Änderungen im DOM-Baum ist für komplexe Webanwendungen und Frameworks regelmäßig notwendig. Mit dem Mutation Observer können Sie Änderungen an bestimmten Knoten, Attributen oder untergeordneten Elementen eines Dokuments überwachen und benutzerdefinierte Funktionen als Reaktion auf diese Änderungen ausführen.
In der Aspose.HTML for .NET-Bibliothek ist mit
MutationObserver ein Mechanismus zur Beobachtung von Dokumenten vorhanden, der in hohem Maße konfigurierbar ist und es ermöglicht, über alle Änderungen im Dokumentenbaum benachrichtigt zu werden. Dieser Artikel zeigt anhand von C#-Beispielen, wie Sie die Klasse MutationObserver verwenden können, um Änderungen im DOM zu beobachten.
Mutation Observer bietet die Möglichkeit, Änderungen im DOM-Baum einer Webseite zu beobachten. Das folgende Beispiel demonstriert die Implementierung von MutationObserver und wie man damit das Hinzufügen neuer Knoten zum Dokument beobachten kann:
callback nimmt mutations (eine Liste von MutationRecord Objekten) und mutationObserver (das MutationObserver Objekt, das die Mutationen entdeckt hat) als Parameter.ChildList erkennt Änderungen in den direkten Kindern von targetNode.Subtree erkennt Änderungen in allen Nachkommen des Knotens.CharacterData wird verwendet, um die Änderungen im Textinhalt zu beobachten.document.Body als den zu beobachtenden Target-Knoten und das config-Objekt als die options für die Beobachtung.<p>-Element zu erstellen, und verwenden Sie die Methode AppendChild(), um es an den Body des Dokuments anzuhängen.<p> anzuhängen.<p>-Elements und des Textknotens in diesem Fall, wird die MutationObserver-Funktion callback ausgelöst und gibt eine Meldung auf der Konsole aus, die angibt, welcher Knoten dem Dokument hinzugefügt wurde.Wenn Sie einen Knoten auf Änderungen beobachten, wird Ihr Callback erst ausgelöst, wenn sich das DOM vollständig geändert hat. Dieses Verhalten wurde entwickelt, um die DOM Mutation Events zu ersetzen und das Leistungsproblem der vorherigen Spezifikation zu reduzieren.
1// Use Mutation Observer to watch for new nodes added to a document with C#
2
3// Create an empty HTML document
4using (HTMLDocument document = new HTMLDocument())
5{
6 // Create a mutation observer instance
7 Html.Dom.Mutations.MutationObserver observer = new Html.Dom.Mutations.MutationObserver((mutations, mutationObserver) =>
8 {
9 foreach (MutationRecord record in mutations)
10 {
11 foreach (Node node in record.AddedNodes)
12 {
13 Console.WriteLine("The '" + node + "' node was added to the document.");
14 }
15 }
16 });
17
18 // Configuration of the observer
19 MutationObserverInit config = new Html.Dom.Mutations.MutationObserverInit
20 {
21 ChildList = true,
22 Subtree = true,
23 CharacterData = true
24 };
25
26 // Pass in the target node to observe with the specified configuration
27 observer.Observe(document.Body, config);
28
29 // Now, we are going to modify DOM tree to check
30 // Create a paragraph element and append it to the document body
31 Element p = document.CreateElement("p");
32 document.Body.AppendChild(p);
33
34 // Create a text and append it to the paragraph
35 Text text = document.CreateTextNode("Hello, World");
36 p.AppendChild(text);
37
38 Console.WriteLine("Waiting for mutation. Press any key to continue...");
39 Output.ToString();
40}Aspose.HTML bietet HTML-Webanwendungen, eine Online-Sammlung von kostenlosen Konvertern, Zusammenführungen, SEO-Tools, HTML-Code-Generatoren, URL-Tools und mehr. Die Anwendungen funktionieren auf jedem Betriebssystem mit einem Webbrowser und erfordern keine zusätzliche Softwareinstallation. Konvertieren, fusionieren, kodieren, generieren Sie HTML-Code, extrahieren Sie Daten aus dem Web oder analysieren Sie Webseiten im Hinblick auf SEO, wo immer Sie sind. Nutzen Sie unsere Sammlung von HTML-Webanwendungen, um Ihre täglichen Aufgaben zu erledigen und Ihren Arbeitsablauf nahtlos zu gestalten!
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.