我有一个页面有时会加载到iframe中,有时只是自己加载,具体取决于与此问题无关的某些参数。在这两种情况下,我都希望获得视口的高度,因此使用$(parent.window).height()
。这似乎在两种情况下都会返回正确的数字(进出iframe),但我只是想在不在iframe中的页面中使用$(parent.window).height()
检查是否存在任何潜在的陷阱 - 即页面技术上没有父母。
否则我可以分别为if $(parent.window).height()
和$(window).height()
构建一个if..else for if和out iframe,但这是必要的吗?我可以使用$(parent.window).height()
来涵盖这两种情况吗?
答案 0 :(得分:1)
docs说
如果窗口没有父窗口,则其
parent
属性是对自身的引用。
所以你好,window.parent
将是对父母的引用,如果存在,如果不存在,则它是对当前窗口的引用。
不需要条件来检查窗口是否实际上具有使用window.parent
属性的父级,只要它可能是返回的当前窗口并不重要。
答案 1 :(得分:0)
您可以使用window.top
来引用最顶层的窗口。无论页面是正常打开,还是在框架中,还是在嵌套框架中,它都将始终引用顶部窗口。