Estoy escribiendo una aplicación que contiene un WebView en el que muestro páginas de diferentes sitios web. Algunas de estas páginas contienen IFrames.
Mi aplicación inyecta javascript en el WebView que se muestra y mi problema es que mi código MutationObserver parece perder la adición de nuevos Iframes en el DOM.
Mi código es bastante genérico, tomado de detect-load-of-iframe-not-same-domain-dynamically-added-in-javascript-or-jque (que supuestamente funciona):
var observer = new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { [].filter.call(mutation.addedNodes, function (node) { return node.nodeName == 'IFRAME'; }).forEach(function (node) { node.addEventListener('load', function (e) { console.log('loaded', node.src); }); }); }); }); observer.observe(document, { childList: true, subtree: true });No estoy interesado en lo que sucede dentro del Iframe, por lo que el contenido de origen cruzado no es motivo de preocupación aquí. Solo estoy interesado en recuperar el atributo 'src' del Iframe.
¿Alguna idea sobre cómo interceptar la creación del Iframe?
Editar: no puedo cargar archivos javascript adicionales, necesito usar solo código javascript nativo para esto.
Gracias