IE9,如何从开启窗口打开弹出窗口引用窗口,开启后刷新自己

时间:2012-12-12 19:27:05

标签: javascript internet-explorer

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

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

win_b = window.open(...);

我可以在 Win-B 中使用 window.opener 来调用 Frame-A 中的javascript,我可以使用 win_b。 Frame-A中的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 !< / p>

问题是如何再次取回 window.opener 的引用。基本上,在 Win-B 中获取 Frame-A 引用。

1 个答案:

答案 0 :(得分:0)

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

win_b.setCallback( callback );其中callback在Frame-A中起作用

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