2012-02-13 11 views
11

Załaduję stronę do elementu iframe. Obie strony znajdują się w tej samej domenie. Chcę, aby ładowana strona wykonywała określoną funkcjonalność js, tylko jeśli została załadowana do elementu iframe. czy to możliwe?Czy jako stronę mogę stwierdzić, czy zostałem załadowany do elementu iframe za pomocą javascript?

Bonus: czy można to zrobić w jQuery?

Dzięki

+2

To brzmi jak praca dla Circa 1997 'self == top' trick – Jamiec

+2

możliwy duplikat [Jak sprawdzić, czy strona jest ładowana wewnątrz elementu iframe lub bezpośrednio do okna przeglądarki ?] (http://stackoverflow.com/questions/326069/how-to-identify-if-a-webpage-is-being-loaded-iside-an-iframe-lub-direct---) – Sjoerd

Odpowiedz

22

lub po prostu:

var isEmbed = window != window.parent; 
-1

Można użyć iframe zdarzenia onload:

<html> 
<head> 
<script type="text/javascript"> 
function load() 
{ 
alert("Iframe is loaded"); 
} 
</script> 
</head> 

<iframe onload="load()" src="/page.html"> 
</iframe>  
</html> 
+0

niejasna odpowiedź ? gdzie powinien umieścić kod? btw Twój kod jest w żaden sposób sformatowany. –

+0

Mam zaktualizowany znacznik odpowiedzi. –

9

Prawdopodobnie najprostszą metodą:

if (self !== top) { 
    // you're in an iframe 
} 

więc sprawdzić, czy obecna wygrana dow to najwyższe okno ...

+0

Pracowałem dla mnie :) – afro360

Powiązane problemy