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