Получить элемент 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"]');
Другие вопросы по тегам