0

我知道这确实是一个奇怪的情况,但这是事实。

我在页面中有一个 iframe - Frame-A ,我将从Frame -A打开一个名为Win-B的弹出窗口,因此,Win-BFrame-A的子级。

win_b = window.open(...);

我可以在 Win-B 中使用window.opener 在Frame - A中调用 javascript ,我可以在 Frame-A 中使用win_b.someFunciton()Win-B中调用 javascript 。

现在,我刷新Frame-A所在的页面。Frame -A丢失了对 win_b 的引用,Win-B丢失了window.opener的引用。但是,我仍然可以从Frame-A调用Win-B中的 javascript 函数,因为我可以在同一个打开的窗口上再次执行window.open(..)以再次获取引用。但是我无法从Win-B调用 javascript 函数到Frame-A,我无法恢复window.opener

问题是我怎样才能再次取回window.opener的引用。基本上,在Win-B中获取Frame-A参考。

4

1 回答 1

0

我真的只是在这里猜测,我还没有测试过,但是:你能否将 Frame-A 中的函数的引用从 Frame-A 传递到 Win-B:

win_b.setCallback( callback );callbackFrame-A 中的函数在哪里

在您刷新 Frame-A 并重新建立对 Win-B 的引用之后。

于 2012-12-12T20:00:14.290 回答