Получить элемент iframe DOM, учитывая его URL
Я использую w3c Resource Timing API. window.performance.getEntriesByType("ресурс"); Это дает список ресурсов, включая iframes. Однако, чтобы получить доступ к ресурсам встроенных iframe, мне нужно получить объект производительности iframe, который требует от меня ссылки на его узел / элемент DOM.
var myiframe2 = $("#myiframe2");
var myiframeContentWindow = myiframe2[0].contentWindow;
var iframeContentPerf = myiframeContentWindow.performance;
Вопрос в том, как получить ссылку на узел iframe, если все, что я знаю, это URL-адрес iframe, и это все, что я знаю (я не буду знать идентификатор или имя iframe в отличие от приведенного выше примера кода).
Кроме итерации по элементам документа, а затем фильтрации iframe и сравнения URL-адреса iframe с тем, что возвратил Resource Timing API, существует ли простой способ получить доступ к узлу DOM iframe (учитывая URL-адрес iframe)?
1 ответ
Если URL-адрес iframe не изменился, вы можете попробовать получить его напрямую с помощью селекторов CSS, используя точный URL-адрес:
document.querySelector('iframe[src="http://example.org"]');
Если URL изменится, но у вас будет уникальная часть для каждого iframe (которая может идентифицировать конкретный iframe):
document.querySelector('iframe[src*="example.org/some/url"]');