2015-10-01 15 views
6

Używam interfejsu API czasu zasobów w3c. window.performance.getEntriesByType ("resource"); Daje to listę zasobów, w tym ramek iframe. Jednak aby uzyskać dostęp do zasobów osadzonych elementów iframe, muszę uzyskać obiekt wydajności obiektu iframe, który wymaga od mnie odwołania do jego węzła/elementu DOM.Uzyskaj element DOM elementu iframe z adresem URL:

 var myiframe2 = $("#myiframe2"); 
     var myiframeContentWindow = myiframe2[0].contentWindow; 
     var iframeContentPerf = myiframeContentWindow.performance; 

Pytanie brzmi, jak zdobyć odniesienia węzła iframe, jeśli wszystko, co wiem jest URL iframe, który ma wszystko, co wiem (nie będę wiedzieć id iframe lub nazwę przeciwieństwie do próbki kodu powyżej).

Oprócz iteracji elementów dokumentu, a następnie filtrowania elementów iframe i porównywania adresu URL elementu iframe z interfejsem API czasu zasobów, czy istnieje prosty sposób na uzyskanie węzła DOM elementu iframe (z uwzględnieniem adresu URL elementu iframe)?

Odpowiedz

6

Jeśli URL iframe nie uległa zmianie, można postarać się go bezpośrednio z selektorów CSS używając dokładnego adresu URL:

document.querySelector('iframe[src="http://example.org"]'); 

Jeśli adres URL zmieni ale masz niepowtarzalną części na iframe (który może zidentyfikować konkretny element iframe):

document.querySelector('iframe[src*="example.org/some/url"]'); 
+0

Otrzymuję wartość null z wywołania document.querySelector. Jakiekolwiek obejście? – anjanb

+0

Otrzymuję wartość null, nawet jeśli próbuję document.querySelector ("iframe [src * =" example.org/some/url "]"); zadzwoń pod numer – anjanb

+0

Potrzebuję więcej konkretnych fragmentów kodu, aby Ci pomóc (możesz wykonać sedno: https://gist.github.com/) – avetisk

Powiązane problemy