Reputation: 148624
I have a single page. with no Iframes :
And I need to check if the page is in Iframe , so I did this :
if (!window.parent) {...not in iframe...}
But it seems that window.parent
is never undefined
and always reference to the window (self===parent)
.
Why is that ?
the window has no(!) parent. so why it is defined ?
NB
I know that window.window.w....
is the same for a reason. but im talking about parent(!)
I know I can check this condition :
if (window.self===window.parent)...
But still my question remains.
Upvotes: 5
Views: 4866
Reputation: 78555
From MDN:
If a window does not have a parent, its parent property is a reference to itself
That's just the way it is.
In their example, they provide a way of achieving your requirement (slightly different angle than your solution):
if (window.parent != window.top) {
// we're deeper than one down
}
More References:
The value of the parent attribute of a Window object MUST be the parent document's Window object or the document's Window object if there is no parent document
Upvotes: 6