javascript - Obtener un elemento DOM iframe dado su URL
Estoy usando la API Resource Timing de w3c. window.performance.getEntriesByType("resource"); Esto da una lista de recursos incluyendo iframes. Sin embargo, para obtener los recursos de los iframes incrustados, necesito obtener el objeto performance del iframe, lo que requiere que tenga la referencia a su nodo/elemento DOM.
var myiframe2 = $("#myiframe2");
var myiframeContentWindow = myiframe2[0].contentWindow;
var iframeContentPerf = myiframeContentWindow.performance;
La pregunta es, ¿cómo obtener la referencia del nodo del iframe si todo lo que sé es la URL del iframe, que es todo lo que sé (no conoceré el id o nombre del iframe a diferencia del ejemplo de código anterior)?
Aparte de iterar a través de los elementos del documento y luego filtrar los iframes y comparar la URL del iframe con lo que devolvió la API de Resource Timing, ¿hay una manera sencilla de obtener el nodo DOM del iframe (dada la URL del iframe)?
Respuesta #1
Si la URL del iframe no ha cambiado, puedes intentar obtenerla directamente con selectores CSS usando la URL exacta:
document.querySelector('iframe[src="http://example.org"]');
Si la URL va a cambiar pero tienes una parte única por iframe (que puede identificar un iframe específico):
document.querySelector('iframe[src*="example.org/some/url"]');
