所以我正在编写一些javascript来处理多个窗口,我需要一种方法来强制执行以下层次结构:主窗口应该是所有其他打开的窗口的父窗口,无论这些其他窗口是从哪里打开的。IE。如果主窗口使用window.open()打开一个子窗口,而子窗口使用window.open()打开一个窗口,这两个子窗口需要是主窗口的兄弟和子窗口,当前一个子窗口是另一个子窗口的父窗口这导致了问题。有没有办法在调用 window.open() 之前引用父窗口,以便将父窗口设置为新窗口的父窗口,而不是调用 javascript 函数的窗口?
我试过这个没有成功,但它可能很接近:
if (window.opener && !window.opener.closed) {
window.opener.functionThatEventuallyOpensAWindow();
} else {
functionThatEventuallyOpensAWindow();
}
如果有人有任何想法,将不胜感激。请注意,此代码段不能直接使用 window.open(),而必须调用最终以 window.open() 结尾的其他函数。