Royi Namir
Royi Namir

Reputation: 148624

window.parent is not undefined?

I have a single page. with no Iframes :

enter image description here

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

if (window.self===window.parent)...

But still my question remains.

Upvotes: 5

Views: 4866

Answers (2)

CodingIntrigue
CodingIntrigue

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:

W3

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

Aditya Singh
Aditya Singh

Reputation: 9612

You can compare document.referrer with window.location.href

JSFiddle

Upvotes: 0

Related Questions