diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:45 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:45 -0500 |
commit | 1109132f09d75da9a28b649c7677bb6ce07c40c0 (patch) | |
tree | 0dd8b084480983cf9f9680e8aedb92782a921b13 /files/es/web/api/mutationobserver | |
parent | 4b1a9203c547c019fc5398082ae19a3f3d4c3efe (diff) | |
download | translated-content-1109132f09d75da9a28b649c7677bb6ce07c40c0.tar.gz translated-content-1109132f09d75da9a28b649c7677bb6ce07c40c0.tar.bz2 translated-content-1109132f09d75da9a28b649c7677bb6ce07c40c0.zip |
initial commit
Diffstat (limited to 'files/es/web/api/mutationobserver')
-rw-r--r-- | files/es/web/api/mutationobserver/index.html | 330 | ||||
-rw-r--r-- | files/es/web/api/mutationobserver/mutationobserver/index.html | 98 | ||||
-rw-r--r-- | files/es/web/api/mutationobserver/observe/index.html | 95 |
3 files changed, 523 insertions, 0 deletions
diff --git a/files/es/web/api/mutationobserver/index.html b/files/es/web/api/mutationobserver/index.html new file mode 100644 index 0000000000..f0fe2a4b01 --- /dev/null +++ b/files/es/web/api/mutationobserver/index.html @@ -0,0 +1,330 @@ +--- +title: MutationObserver +slug: Web/API/MutationObserver +translation_of: Web/API/MutationObserver +--- +<p>{{APIRef("DOM")}}</p> + +<p><code>MutationObserver</code> establece un mecanismo para reaccionar ante cambios en el <a href="/en-US/docs/DOM">DOM</a>. Ha sido diseñado como un sustituto de los <a href="/en-US/docs/DOM/Mutation_events">Mutation Events</a> definidos en las especificaciones de <em>DOM3 Events</em>.</p> + +<h2 id="Constructor" name="Constructor">Constructor</h2> + +<h3 id="MutationObserver()" name="MutationObserver()"><code>MutationObserver()</code></h3> + +<p>Constructor para la instaciación de nuevos <em>DOM mutation observers</em>.</p> + +<pre class="eval">MutationObserver( + function callback +); +</pre> + +<h6 id="Parameters" name="Parameters">Parámetros</h6> + +<dl> + <dt><code>callback</code></dt> + <dd>La función que será llamada en cada mutación del DOM. El <em>observer</em> llamará a esta función con dos argumentos. El primero es un array de objetos, cada uno del tipo <a href="#MutationRecord"><code>MutationRecord</code></a>. El segundo es la propia instancia del <code>MutationObserver</code>.</dd> +</dl> + +<h2 id="Instance_methods" name="Instance_methods">Métodos</h2> + +<table class="standard-table"> + <tbody> + <tr> + <td><code>void <a href="#observe()">observe</a>( {{domxref("Node")}} target, <a href="#MutationObserverInit">MutationObserverInit</a> options );</code></td> + </tr> + <tr> + <td><code>void <a href="#disconnect()">disconnect</a>();</code></td> + </tr> + <tr> + <td><code>Array <a href="#takeRecords()">takeRecords</a>();</code></td> + </tr> + </tbody> +</table> + +<h3 id="observe()" name="observe()"><code>observe()</code></h3> + +<p>Registra la instancia del <code>MutationObserver</code> para recibir notificaciones de las mutaciones del DOM sobre el nodo especificado.</p> + +<pre class="eval">void observe( + {{domxref("Node")}} target, + <a href="#MutationObserverInit"><code>MutationObserverInit</code></a> options +); +</pre> + +<h6 id="Parameters" name="Parameters">Parámetros</h6> + +<dl> + <dt><code>target</code></dt> + <dd>El {{domxref("Node")}} sobre el que observar las mutaciones del DOM.</dd> + <dt><code>options</code></dt> + <dd><code>Un objeto <a href="#MutationObserverInit">MutationObserverInit</a></code>, que especifica que mutaciones del DOM deben ser informadas.</dd> +</dl> + +<div class="note">NOTA: Añadir un observador a un elemento es igual que addEventListener, si usted observa el elemento múltiples veces no hace ninguna diferencia. Si se observa dos veces un elemento, el observe callback no se ejecutará dos veces, ni tampoco tendrá que ejecutar disconnect() dos veces. En otras palabras, una vez el elemento es observado, observarlo de nuevo con la misma instancia del observador no hará nada. Sin embargo, si el callback es diferente por supuesto se le añadirá otro observador.</div> + +<h3 id="disconnect()" name="disconnect()"><code>disconnect()</code></h3> + +<p>Evita que la instancia <code>de MutationObserver</code> continue recibiendo notificaciones de modificaciones del DOM. Hasta que el método <a href="#observe()"><code>observe()</code></a> sea usado de nuevo, la función callback no será invocada.</p> + +<pre class="eval">void disconnect(); +</pre> + +<h3 id="takeRecords()" name="takeRecords()"><code>takeRecords()</code></h3> + +<p>Vacía la cola de registros de la instancia de <code>MutationObserver</code> devolviendo su contenido.</p> + +<pre class="eval">Array takeRecords(); +</pre> + +<h6 id="Return_value" name="Return_value">Return value</h6> + +<p>Returns an Array of <a href="#MutationRecord"><code>MutationRecord</code>s</a>.</p> + +<h2 id="MutationObserverInit" name="MutationObserverInit"><code>MutationObserverInit</code></h2> + +<p><code>MutationObserverInit</code> es un objeto para el que se pueden especificar las siguientes propiedades:</p> + +<div class="note">NOTA: Como mínimo las propiedades <code>childList</code>, <code>attributes</code>, o <code>characterData </code>deben ser <code>true</code>. En caso contrario, se producirá un error "An invalid or illegal string was specified"</div> + +<table class="standard-table"> + <tbody> + <tr> + <td class="header">Propiedad</td> + <td class="header">Descripción</td> + </tr> + <tr> + <td><code>childList</code></td> + <td> + <p>Establecer a <code>true</code> si la adición y/o eliminación de elementos hijo del nodo (incluso los nodos <code>text</code>) han se ser observados.</p> + </td> + </tr> + <tr> + <td><code>attributes</code></td> + <td> + <p>Establecer a <code>true</code> si los cambios en los atributos deben ser observados</p> + </td> + </tr> + <tr> + <td><code>characterData</code></td> + <td> + <p>Establecer a <code>true</code> si los cambios en los datos deben ser observados</p> + </td> + </tr> + <tr> + <td><code>subtree</code></td> + <td> + <p>Establecer a <code>true</code> si los cambios tambien deben ser observados en los descendientes.</p> + </td> + </tr> + <tr> + <td><code>attributeOldValue</code></td> + <td> + <p>Establecer a <code>true</code> si <code>attributes</code> es <code>true</code> y el valor anterior al cambio debe ser guardado.</p> + </td> + </tr> + <tr> + <td><code>characterDataOldValue</code></td> + <td> + <p>Establecer a <code>true</code> si <code>characterData</code> vale <code>true</code> y el dato anterior al cambio de be ser guardado.</p> + </td> + </tr> + <tr> + <td><code>attributeFilter</code></td> + <td> + <p>Asigne un array de nombres de atributos locales (sin su espacio de nombres) si no necesita observar los cambios en todos los atributos</p> + </td> + </tr> + </tbody> +</table> + +<h2 id="MutationRecord" name="MutationRecord"><code>MutationRecord</code></h2> + +<p><code>MutationRecord</code> es el objeto que será pasado a la funcion "callback" del observador. Tiene las siguientes propiedades:</p> + +<table class="standard-table"> + <tbody> + <tr> + <td class="header">Propiedad</td> + <td class="header">Tipo</td> + <td class="header">Descripción</td> + </tr> + <tr> + <td><code>type</code></td> + <td><code>String</code></td> + <td> + <p>Devuelve:</p> + + <ul> + <li><code>attributes </code>si el cambio fué en un atributo</li> + <li><code>characterData</code> si se produjo en un nodo.</li> + <li><code>childList</code> si se produjo en los nodos del árbol.</li> + </ul> + + <dl> + </dl> + </td> + </tr> + <tr> + <td><code>target</code></td> + <td><code>{{domxref("Node")}}</code></td> + <td> + <p>Devuelve el<strong> nodo</strong> afectado por el cambio, dependiendo del <code>type</code>:</p> + + <ul> + <li>Para <code>attributes</code>, el elemento cuyos atributos han cambiado.</li> + <li>Para <code>characterData</code>, el nodo <code>CharacterData</code>.</li> + <li>Para <code>childList</code>, El nodo padre cuyos hijos han cambiado.</li> + </ul> + </td> + </tr> + <tr> + <td><code>addedNodes</code></td> + <td><code>{{domxref("NodeList")}}</code></td> + <td> + <p>Devuelve los nodos añadidos. Si no tiene nodos añadidos devuelve un <span style="font-family: courier new,andale mono,monospace;">NodeList</span> vacio.</p> + </td> + </tr> + <tr> + <td><code>removedNodes</code></td> + <td><code>{{domxref("NodeList")}}</code></td> + <td> + <p>Devuelve los nodos eliminados. Si no tiene nodos eliminados devuelve un <span style="font-family: courier new,andale mono,monospace;">NodeList</span> vacio.</p> + </td> + </tr> + <tr> + <td><code>previousSibling</code></td> + <td><code>{{domxref("Node")}}</code></td> + <td> + <p>Devuelve el nodo hermano <strong>anterior</strong> añadido o eliminado, o el valor <code>null</code>.</p> + </td> + </tr> + <tr> + <td><code>nextSibling</code></td> + <td><code>{{domxref("Node")}}</code></td> + <td> + <p>Devuelve el <strong>siguiente</strong> nodo hermano añadido o eliminado, o el valor <code>null</code>.</p> + </td> + </tr> + <tr> + <td><code>attributeName</code></td> + <td><code>String</code></td> + <td> + <p>Devuelve el nombre local del atributo cambiado, o el valor <code>null</code>.</p> + </td> + </tr> + <tr> + <td><code>attributeNamespace</code></td> + <td><code>String</code></td> + <td> + <p>Devuelve espacio de nombres (namespace) del atributo cambiado, o el valor <code>null</code>.</p> + </td> + </tr> + <tr> + <td><code>oldValue</code></td> + <td><code>String</code></td> + <td> + <p>El valor devuelto depende del <code>type</code>:</p> + + <ul> + <li>Para <code>attributes</code>,el valor anterior del atributo.</li> + <li>Para <code>characterData</code>,los datos antes del cambio</li> + <li>Para <code>childList</code>,devuelve <code>null</code>.</li> + </ul> + </td> + </tr> + </tbody> +</table> + +<h2 id="Example_usage" name="Example_usage">Ejemplo de uso</h2> + +<p>El siguiente ejemplo fué tomado de: <a class="external" href="http://hacks.mozilla.org/2012/05/dom-mutationobserver-reacting-to-dom-changes-without-killing-browser-performance/" rel="freelink">this blog post</a>.</p> + +<pre class="brush: js">// selecciona el nodo target +var target = document.querySelector('#some-id'); + +// Crea una instancia de observer +var observer = new MutationObserver(function(mutations) { + mutations.forEach(function(mutation) { + console.log(mutation.type); + }); +}); + +// Configura el observer: +var config = { attributes: true, childList: true, characterData: true }; + +// pasa al observer el nodo y la configuracion +observer.observe(target, config); + +// Posteriormente, puede detener la observacion +observer.disconnect(); +</pre> + +<h2 id="Additional_reading" name="Additional_reading">Lectura adicional</h2> + +<ul> + <li><a class="external" href="http://updates.html5rocks.com/2012/02/Detect-DOM-changes-with-Mutation-Observers" rel="freelink">A brief overview</a></li> + <li><a class="external" href="http://hacks.mozilla.org/2012/05/dom-mutationobserver-reacting-to-dom-changes-without-killing-browser-performance/" rel="freelink">A more in-depth discussion</a></li> + <li><a class="external" href="http://www.youtube.com/watch?v=eRZ4pO0gVWw" rel="freelink">A screencast by Chromium developer Rafael Weinstein</a></li> + <li><a class="external" href="http://code.google.com/p/mutation-summary/" rel="freelink">The mutation summary library</a></li> + <li><a href="http://dom.spec.whatwg.org/#mutation-observers">The DOM standard</a> which defines the <code>MutationObserver</code> interface</li> +</ul> + +<h2 id="Compatibilidad_en_navegadores">Compatibilidad en navegadores</h2> + +<p>{{ CompatibilityTable() }}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Basic support</td> + <td>18 {{ property_prefix("-webkit") }}<br> + 26</td> + <td>{{ CompatGeckoDesktop(14) }}</td> + <td>11</td> + <td>15</td> + <td>6.0 {{ property_prefix("-webkit") }}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Android</th> + <th>Chrome for Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE (Windows Phone) </th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{ CompatUnknown() }}</td> + <td>18 {{ property_prefix("-webkit") }}<br> + 26</td> + <td>{{ CompatGeckoMobile(14) }}</td> + <td><span style="font-size: 12px; line-height: 18px;">11 (8.1)</span></td> + <td>15</td> + <td> + <p>6 {{ property_prefix("-webkit")}}</p> + + <p>7</p> + </td> + </tr> + </tbody> +</table> +</div> + +<p> </p> diff --git a/files/es/web/api/mutationobserver/mutationobserver/index.html b/files/es/web/api/mutationobserver/mutationobserver/index.html new file mode 100644 index 0000000000..faf72f1db3 --- /dev/null +++ b/files/es/web/api/mutationobserver/mutationobserver/index.html @@ -0,0 +1,98 @@ +--- +title: MutationObserver.MutationObserver() +slug: Web/API/MutationObserver/MutationObserver +translation_of: Web/API/MutationObserver/MutationObserver +--- +<div>{{APIRef("DOM WHATWG")}}</div> + +<p><span class="seoSummary">El constructor DOM <code><strong>MutationObserver()</strong></code> — parte del interface {{domxref("MutationObserver")}} — </span>crea y devuelve un nuevo objeto <strong>observer </strong>que llamará a la función especificada (callback), cuando tengan lugar cambios sobre el DOM. Estos observadores no se inician inmediatamente; en primer lugar debemos llamar al método {{domxref("MutationObserver.observe", "observe()")}} para establecer qué parte del DOM observar y que tipo de cambios comunicar.</p> + +<h2 id="Sintaxis">Sintaxis</h2> + +<pre class="syntaxbox">var <em>observer</em> = new MutationObserver(<em>callback</em>);</pre> + +<h3 id="Parámetros">Parámetros</h3> + +<dl> + <dt><code>callback</code></dt> + <dd>La función que será llamada con cada cambio en el DOM, determinado por el nodo, subárbol y opciones. Esta función toma dos parámetros de entrada: un array de objetos {{domxref("MutationRecord")}}, con los cambios producidos, y el <code>MutationObserver</code> que llamó a la función. Para mas detalles vea {{anch("Example", "example")}}</dd> + <dt> </dt> +</dl> + +<h3 id="Valor_devuelto">Valor devuelto</h3> + +<p>Un nuevo objeto {{domxref("MutationObserver")}}, configurado para llamar a una determinada función cuando se producca un cambio en el DOM.</p> + +<h2 id="Ejemplo">Ejemplo</h2> + +<p>Este ejemplo crea un nuevo <code>MutationObserver</code> configurado para <em>observar </em>a un nodo y a sus hijos (subárbol), cuando se añadan o eliminen elementos al mismo; tambien observa cualquier cambio en los atributos de los elementos del árbol.</p> + +<h3 id="La_función_callback">La función callback</h3> + +<pre class="brush: js">function callback(mutationList, observer) { + mutationList.forEach((mutation) => { + switch(mutation.type) { + case 'childList': + /* Uno o mas hijos han sido añadidos y/o eliminados del árbol; + vea mutation.addedNodes y mutation.removedNodes */ + break; + case 'attributes': + /* El valor de un atributo en mutation.target ha cambiado; + El nombre del atributo esta en mutation.attributeName y + su valor anterior en mutation.oldValue */ + break; + } + }); +} +</pre> + +<p>La función <code>callback()</code> es llamada cuando el <strong>observer </strong>detecta cambios que coinciden con la configuración de consulta especificada cuando llamamos a {{domxref("MutationObserver.observe", "observe()")}} para que inicie la observación.</p> + +<p>El tipo de cambio que se produjo (tanto en la lista de hijos como en los atributos) es detectado observando la propiedad {{domxref("MutationRecord.type", "mutation.type")}}</p> + +<h3 id="Crear_e_iniciar_un_observer">Crear e iniciar un "observer"</h3> + +<p>Este código establece el proceso de observación</p> + +<pre class="brush: js">var targetNode = document.querySelector("#someElement"); +var observerOptions = { + childList: true, + attributes: true, + subtree: true //Omita o ponga false si no quiere controlar los cambios en los hijos +} + +var observer = new MutationObserver(callback); +observer.observe(targetNode, observerOptions);</pre> + +<p>El subárbol deseado se localiza buscando un elemento cuyo ID es "someElement". Un conjunto de opciones para el "observer" es establecido en el registro <code>observerOptions</code>. En él, especificamos los valores <code>true </code>tanto para <code>childList</code> como <code>attributes</code>, para obtener la información deseada.</p> + +<p>Posteriormente instanciamos el objeto observer, especificando la función <code>callback()</code>, e iniciamos la observación de los nodos del DOM llamando al método <code>observe()</code>, pasandole el nodo y las opciones.</p> + +<p>Desde este momento y hasta que se llame al método {{domxref("MutationObserver.disconnect", "disconnect()")}}, la funcion <code>callback()</code> será llamada cada vez que un elemento sea añadido o eliminado del árbol del DOM, cuya raiz es <code>targetNode</code>, o uno de sus atributos sea cambiado.</p> + +<p> </p> + +<h2 id="Specifications" name="Specifications">Especificaciones</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Especificación</th> + <th scope="col">Estado</th> + <th scope="col">Comentario</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('DOM WHATWG', '#dom-mutationobserver-mutationobserver', 'MutationObserver()')}}</td> + <td>{{ Spec2('DOM WHATWG') }}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Compatibilidad">Compatibilidad</h2> + +<div class="hidden">La tabla de compatibilidad de esta página ha sido generada utilizando datos estructurados. Si desea contribuir, compruebe nuestra <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data </a>y envienos una petición de actualizacion</div> + +<p>{{Compat("api.MutationObserver.MutationObserver")}}</p> diff --git a/files/es/web/api/mutationobserver/observe/index.html b/files/es/web/api/mutationobserver/observe/index.html new file mode 100644 index 0000000000..607af27cd0 --- /dev/null +++ b/files/es/web/api/mutationobserver/observe/index.html @@ -0,0 +1,95 @@ +--- +title: MutationObserver.observe() +slug: Web/API/MutationObserver/observe +translation_of: Web/API/MutationObserver/observe +--- +<div>{{APIRef("DOM WHATWG")}}</div> + +<p><span class="seoSummary">El método {{domxref("MutationObserver")}} <code><strong>observe()</strong></code><strong> </strong>configura la funcion <code>MutationObserver</code> para que inicie la recepción de cambios en el DOM que coincidan con las opciones dadas.</span></p> + +<p>Según la configuración, el <em>observador </em>verá un solo {{domxref("Node")}} del árbol del DOM, o ese nodo y alguno o todos los nodos descendientes.</p> + +<p>Para detener al <code>MutationObserver</code> (de modo que la funcion no sea llamada), llame al método {{domxref("MutationObserver.disconnect()")}}.</p> + +<ul> +</ul> + +<h2 id="Sintaxis">Sintaxis</h2> + +<pre class="syntaxbox"><em>mutationObserver</em>.observe(<em>target</em>[, <em>options</em>]) +</pre> + +<h3 id="Parámetros">Parámetros</h3> + +<dl> + <dt><code>target</code></dt> + <dd> Un {{domxref("Node")}} del DOM (que puede ser un {{domxref("Element")}}) perteneciente al árbol DOM, o la raiz de un subárbol de nodos, donde observar cambios.</dd> + <dt><code>options</code> {{optional_inline}}</dt> + <dd>Un objeto {{domxref("MutationObserverInit")}} opcional, que decribe qué cambios en el DOM deben ser enviados a la función <code>callback </code>del observador.</dd> +</dl> + +<h3 id="Valor_devuelto">Valor devuelto</h3> + +<p><code>undefined</code>.</p> + +<h3 id="Excepciones">Excepciones</h3> + +<dl> + <dt><code>TypeError</code></dt> + <dd>llamado en cualquiera de las siguientes circunstancias</dd> + <dd> + <ul> + <li>Las opciones han sido configuradas de tal modo que no existe nada que monitorizar (por ejemplo, si {{domxref("MutationObserverInit.childList")}}, {{domxref("MutationObserverInit.attributes")}}, y {{domxref("MutationObserverInit.characterData")}} son <strong>false</strong>)</li> + <li>La opcion <code>attributes</code> es <code>false</code> (indicando que los cambios en los atributos no son monitorizados) y <code>attributeOldValue</code> es <code>true</code> y/o <code>attributeFilter</code> está presente.</li> + <li>Las opciones {{domxref("MutaitonObserverInit.characterDataOldValue", "characterDataOldValue")}} son <code>true </code>pero {{domxref("MutationObserverInit.characterData")}} es <code>false</code> (indicando que los cambios en los caracteres no se guardan).</li> + </ul> + </dd> +</dl> + +<h2 id="Notas_de_uso">Notas de uso</h2> + +<h3 id="Reutilizar_MutationObservers">Reutilizar MutationObservers</h3> + +<p>Puede llamar varias veces al método <code>observe()</code> del mismo objeto <code>MutationObserver</code> para ver los cambios en diferentes partes del árbol del DOM y/o diferentes tipos de cambios. Sin embargo ha de tener en cuenta:</p> + +<ul> + <li>Si llama a <code>observe()</code> en un nodo que ya estaba siendo observado por el mísmo <code>MutationObserver</code>, todos los observadores serán automáticamente eliminados de todos los elementos observados antes de que el nuevo observador sea activado.</li> + <li>Si el mismo <code>MutationObserver</code> no estaba siendo usado sobre ese nodo, entonces los observadores existentes se quedarán solos y se agregará el nuevo.</li> +</ul> + +<h3 id="La_observación_sigue_a_los_nodos_cuando_se_desconecta">La observación sigue a los nodos cuando se desconecta</h3> + +<p>Los observadores de cambios tienen como objetivo permitirle ver un conjunto de nodos a lo largo del tiempo, incluso si la conexion entre estos nodos desaparece. Si esta observando un subárbol de nodos, y una parte del subárbol es desconectado y llevado a otra parte del DOM, continuará viendo ese mismo segmento de nodos, recibiendo las mismas llamadas a la función que antes de ser desconectado.</p> + +<p>En otras palabras, hasta que se le haya notificado que los nodos se están separando de su subárbol monitoreado, recibirá notificaciones de los cambios en ese subárbol y sus nodos. Esto evita que pierda los cambios producidos despues de que la conexion se corte y antes de que tenga la oportunidad de especificar un nuevo monitoreo sobre los cambios en el nodo o subárbol movido.</p> + +<p>De manera que en teoria si mantiene la pista de los objetos {{domxref("MutationRecord")}} que describen los cambios, podrá "deshacer" los mismos, devolviendo el DOM a su estado inicial.</p> + +<h2 id="Ejemplo">Ejemplo</h2> + +<p> </p> + +<h2 id="Specifications" name="Specifications">Especificaciones</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('DOM WHATWG', '#dom-mutationobserver-observe', 'MutationObserver.observe()')}}</td> + <td>{{ Spec2('DOM WHATWG') }}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Compatibilidad">Compatibilidad</h2> + + + +<p>{{Compat("api.MutationObserver.observe")}}</p> |