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 proporciona una forma de observar y reaccionar ante cambios en el DOM. Es una herramienta poderosa para crear aplicaciones web dinámicas que requieren manipulación DOM y manejo de eventos en tiempo real. Con Mutation Observer, puede monitorear cambios en nodos, atributos o elementos secundarios específicos de un documento y ejecutar funciones personalizadas que respondan a esos cambios.
En la biblioteca Aspose.HTML for Java, un mecanismo de observación de documentos está representado con la clase
MutationObserver, que es fácil de configurar y permite recibir notificaciones de cualquier cambio en el árbol de documentos. Este artículo utiliza ejemplos de Java 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.
ChildList, Subtree y CharacterData se establecen como true en el ejemplo.<body> o sus nodos secundarios que coinciden con las opciones configuradas, se invocará la función de devolución de llamada para manejar esas mutaciones.<p> y use el método
appendChild() para agregarlo al cuerpo del documento; use el método
createTextNode() para crear un nodo de texto con el contenido “Hello, World!”, y use el método appendChild() para agregarlo como un nodo secundario al elemento <p>. 1// Monitor DOM tree changes using MutationObserver API in Aspose.HTML for Java
2
3// Create an empty HTML document
4HTMLDocument document = new HTMLDocument();
5
6// Create an instance of the MutationObserver class
7MutationObserver observer = new MutationObserver(new MutationCallback() {
8
9 @Override
10 public void invoke(com.aspose.html.utils.collections.generic.IGenericList<MutationRecord> mutations, MutationObserver mutationObserver) {
11 for (int i = 0; i < mutations.size(); i++) {
12 MutationRecord record = mutations.get_Item(i);
13 for (Node node : record.getAddedNodes().toArray()) {
14 System.out.println("The '" + node + "' node was added to the document.");
15 }
16 }
17 }
18});
19
20// Configure options for the MutationObserver
21MutationObserverInit config = new MutationObserverInit();
22config.setChildList(true);
23config.setSubtree(true);
24config.setCharacterData(true);
25
26// Pass to observer the target node to observe with the specified configuration
27observer.observe(document.getBody(), 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
31Element p = document.createElement("p");
32document.getBody().appendChild(p);
33
34// Create a text and append it to the paragraph
35Text text = document.createTextNode("Hello, World!");
36p.appendChild(text);
37
38System.out.println("Waiting for mutation. Press any key to continue...");
39System.in.read();MutationObserver para optimizar el rendimiento y reducir el procesamiento innecesario.MutationObserverInit. Incluya solo las propiedades necesarias (por ejemplo, ChildList, Subtree, CharacterData) para optimizar el proceso.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.
Puede descargar los ejemplos completos y los archivos de datos desde GitHub.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.