Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Mutation Observer es un objeto integrado que observa los cambios en el árbol DOM y llama o activa una función de devolución de llamada para reaccionar a los cambios en el DOM. Es necesario observar periódicamente los cambios en el árbol DOM para marcos y aplicaciones web complejos. Con Mutation Observer, puede monitorear los cambios en los nodos, atributos o elementos secundarios específicos de un documento y ejecutar funciones personalizadas en respuesta a esos cambios.
En la biblioteca Aspose.HTML for .NET, un mecanismo de observación de documentos se representa con
MutationObserver, que es altamente configurable y le permite recibir notificaciones de cualquier cambio en el árbol de documentos. Este artículo utiliza ejemplos de C# para mostrar cómo se puede utilizar la clase MutationObserver para observar cambios en el DOM.
Mutation Observer brinda la capacidad de observar cambios en el árbol DOM de una página web. El siguiente ejemplo demuestra la implementación de MutationObserver y cómo usarlo para observar la adición de nuevos nodos al documento:
callback toma mutations (una lista de objetos MutationRecord) y mutationObserver (el objeto MutationObserver que detectó las mutaciones) como parámetros.ChildList detecta cambios en hijos directos de targetNode.Subtree detecta cambios en todos los descendientes del nodo.CharacterData se utiliza para observar los cambios en el contenido del texto.document.Body como el nodo target para observar y el objeto config como las options para la observación.<p> y use el método AppendChild() para agregarlo al cuerpo del documento.<p>.<p> y el nodo de texto en este caso, se activa la función callback de MutationObserver e imprime un mensaje en la consola indicando qué nodo fue añadido al documento.Si está observando un nodo en busca de cambios, su devolución de llamada no se activará hasta que el DOM haya terminado de cambiar por completo. Este comportamiento fue diseñado para reemplazar los eventos de mutación DOM y reducir el problema de rendimiento de eliminación en la especificación anterior.
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 ofrece Aplicaciones web HTML que son una colección en línea de convertidores, fusiones, herramientas de SEO, generadores de código HTML, herramientas de URL y más gratuitos. Las aplicaciones funcionan en cualquier sistema operativo con un navegador web y no requieren ninguna instalación de software adicional. Convierta, fusione, codifique, genere código HTML, extraiga datos de la web o analice páginas web en términos de SEO fácilmente dondequiera que esté. Utilice nuestra colección de aplicaciones web HTML para realizar sus asuntos diarios y hacer que su flujo de trabajo sea fluido.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.