1
所以我寫了一些JavaScript來處理多個窗口,我需要一種方法來強制執行以下層次結構:主窗口應該是所有其他窗口的父窗口,而不管其他窗口在哪裏打開。即。如果主窗口使用window.open()打開一個子窗口,並且子窗口使用window.open()打開一個窗口,則這兩個子窗口必須是主窗口的兄弟和子窗口,當前一個孩子是另一個孩子的父窗口這是造成問題的原因。有什麼辦法在調用window.open()之前引用父窗口,以便將父窗口設置爲新窗口的父窗口,而不是調用javascript函數的窗口?在JavaScript中維護一個特定的窗口層次結構
我想這沒有成功,但它可能會接近:
if (window.opener && !window.opener.closed) {
window.opener.functionThatEventuallyOpensAWindow();
} else {
functionThatEventuallyOpensAWindow();
}
如果任何人有這將不勝感激任何想法。請注意,此代碼段不能直接使用window.open(),但必須調用最終以window.open()結尾的其他函數。
您的方法有什麼問題?任何錯誤? – Thorben 2011-03-22 14:01:11
我不完全確定會發生什麼 - 當我將一個調試器放在這些行的上方並進入它時,我在第二行打F11(進入函數調用),並且沒有任何反應。它完全跳過函數調用,並且沒有窗口打開。 – jbabey 2011-03-22 14:43:23