Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
L’observateur de mutation est un objet intégré qui surveille les changements dans l’arbre DOM et appelle ou déclenche une fonction de rappel pour réagir aux changements dans le DOM. L’observation des changements dans l’arbre DOM est périodiquement nécessaire pour les applications web complexes et les frameworks. Avec l’observateur de mutation, vous pouvez surveiller les modifications apportées à des nœuds, attributs ou éléments enfants spécifiques d’un document et exécuter des fonctions personnalisées répondant à ces modifications.
Dans la bibliothèque Aspose.HTML for .NET, un mécanisme d’observation de document est représenté par
MutationObserver, qui est hautement configurable et vous permet d’être notifié de tout changement dans l’arbre du document. Cet article utilise des exemples C# pour montrer comment vous pouvez utiliser la classe MutationObserver pour observer les changements dans le DOM.
L’observateur de mutation permet d’observer les changements dans l’arbre DOM d’une page web. L’exemple suivant montre l’implémentation de MutationObserver et comment l’utiliser pour observer l’ajout de nouveaux nœuds au document :
callback prend comme paramètres mutations (une liste d’objets MutationRecord ) et mutationObserver (l’objet MutationObserver qui a détecté les mutations).ChildList détecte les modifications dans les enfants directs de targetNode.Subtree détecte les modifications dans tous les descendants du nœud.CharacterData permet d’observer les modifications du contenu textuel.document.Body comme noeud target à observer et l’objet config comme options pour l’observation.<p> et utiliser la méthode AppendChild() pour l’ajouter au corps du document.<p>.<p> et du noeud texte dans ce cas, la fonction callback du MutationObserver est déclenchée et imprime un message sur la console indiquant quel noeud a été ajouté au document.Si vous observez un noeud pour des changements, votre callback ne sera pas déclenché jusqu’à ce que le DOM ait complètement fini de changer. Ce comportement a été conçu pour remplacer les événements de mutation du DOM et réduire le problème de performance de la spécification précédente.
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 propose des applications Web HTML qui sont une collection en ligne de convertisseurs gratuits, de fusions, d’outils SEO, de générateurs de code HTML, d’outils URL, et bien plus encore. Les applications fonctionnent sur n’importe quel système d’exploitation doté d’un navigateur web et ne nécessitent aucune installation de logiciel supplémentaire. Convertissez, fusionnez, encodez, générez facilement du code HTML, extrayez des données du web ou analysez des pages web en termes de référencement, où que vous soyez. Utilisez notre collection d’applications web HTML pour effectuer vos tâches quotidiennes et rendre votre flux de travail fluide !
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.