使用 $(parent.window).height()
Posted
技术标签:
【中文标题】使用 $(parent.window).height()【英文标题】:Use of $(parent.window).height() 【发布时间】:2017-08-28 21:05:59 【问题描述】:我有一个页面,有时会在 iframe 中加载,有时会自行加载,具体取决于与此问题无关的某些参数。在这两种情况下,我都想获得视口的高度,所以我使用$(parent.window).height()
。这似乎在两种情况下(在 iframe 内外)都返回了正确的数字,但我只是想检查在不在 iframe 中的页面中使用 $(parent.window).height()
是否存在任何潜在的陷阱 - 即该页面在技术上具有没有父母。
否则我可以用$(parent.window).height()
和$(window).height()
分别构造一个if..else 用于iframe 的输入和输出,但有必要吗?我可以只使用$(parent.window).height()
来涵盖这两种情况吗?
【问题讨论】:
【参考方案1】:docs 这么说
如果窗口没有父窗口,则其
parent
属性是对其自身的引用。
所以你很好,window.parent
将是对父级的引用,如果存在,则它是对当前窗口的引用。
不需要条件来检查窗口是否真的有一个父窗口来使用window.parent
属性,只要它可能是返回的当前窗口并不重要。
【讨论】:
【参考方案2】:您可以使用window.top
来引用最顶层的窗口。无论页面是正常打开,还是在框架中,还是在嵌套框架中,它总是指向顶部窗口。
【讨论】:
迈克尔,谢谢。就我而言,只有一级 iframe,所以父母应该这样做,但是如果我需要更深入地嵌套,您的建议会有所帮助。以上是关于使用 $(parent.window).height()的主要内容,如果未能解决你的问题,请参考以下文章
window.parent 判断是否是被嵌入iframe里面
window.parent ,window.top,window.self 详解
window.parent window.top及window.self 详解