2017-04-03 68 views
2

我有一個頁面,有時會加載到iframe中,有時只是自己加載,具體取決於與此問題無關的某些參數。在這兩種情況下,我都想使用$(parent.window).height()來獲得視口的高度。這似乎在兩種情況下返回了正確的數字(進出iframe),但我只是想檢查是否有任何潛在的陷阱使用$(parent.window).height()不在iframe中的頁面 - 即頁面在技術上沒有父項。

否則,我可以構造一個if..else分別與$(parent.window).height()$(window).height()進出一個iframe,但是有必要嗎?我可以只用$(parent.window).height()來涵蓋兩種情況嗎?

回答

1

docs

如果一個窗口沒有父,其parent屬性是對自身的引用。

所以你很好,window.parent將是一個對父母的引用,如果存在,如果不存在,它是對當前窗口的引用。
沒有必要檢查窗口是否實際上有父級使用window.parent屬性,只要它無關緊要,它可能是返回的當前窗口。

0

您可以使用window.top來指向最上面的窗口。無論頁面是否正常打開,或者在框架中,或者在嵌套框架中,它都會引用頂部窗口。

+0

Michal,謝謝你。在我的情況下,只有一個級別的iframe,所以父母應該這樣做,但是如果我需要更深入地嵌套,你的建議是有幫助的。 –

相關問題