Reputation: 8463
How can I tell from a page within an iframe, if the parent itself is also within an iframe?
Explanation:
My home page home.html
contains an iframe
<iframe src="sample.html"></iframe>
I need to detect if home.html
(ie: parent of sample.html
) is within an iframe.
Code in sample.html
:
if(self==window)
{
alert('home.html is not in iframe');
}
else
{
alert('home.html is in iframe');
}
My question is not a duplicate. It's a different case.
Upvotes: 55
Views: 105634
Reputation: 117334
This is true if a window is not a frame/iframe:
if(self==top)
If you like to see if the parent window of the given window is a frame, use:
if(parent==top)
It's a simple comparision of top
(the most top window of the window hierarchy) and another window object (self
or parent
).
Upvotes: 116
Reputation: 571
Check if window.frameElement
is not null and see if its nodeName property is "IFRAME":
var isInIframe = window.frameElement && window.frameElement.nodeName == "IFRAME";
Upvotes: 36
Reputation: 6445
var isInIFrame = (window.location != window.parent.location);
if(isInIFrame==true){
// iframe
}
else {
// no iframe
}
Upvotes: 24