我有一个页面.没有Iframes:
我需要检查页面是否在Iframe中,所以我这样做了:
if (!window.parent) {...not in iframe...}
但似乎window.parent
永远不会undefined
总是引用窗口(self===parent)
.
这是为什么 ?
窗口没有(!)父级.那为什么要定义?
NB
我知道这window.window.w....
是有道理的.但我在谈论父母(!)
我知道我可以检查这个条件:
if (window.self===window.parent)...
但我的问题仍然存在.
来自MDN:
如果窗口没有父窗口,则其父属性是对自身的引用
就是那样子.
在他们的示例中,它们提供了一种实现您的要求的方式(与您的解决方案略有不同的角度):
if (window.parent != window.top) { // we're deeper than one down }
更多参考文献:
W3
如果没有父文档,Window对象的父属性的值必须是父文档的Window对象或文档的Window对象