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への参照を失いました。ただし、同じ開いているウィンドウでwindow.open(..)を再度実行して参照を再度取得できるため、 Frame-AからWin-Bで javascript 関数を呼び出すことができます。しかし、 Win-BからFrame-Aにjavascript 関数を呼び出すことができず、 window.openerを復元できません。

問題は、window.openerの参照を再び取得する方法です。基本的に、Win-BでFrame-A参照を取得します。

4

1 に答える 1

0

私は本当にここで推測しているだけで、テストはしていませんが、Frame-Aの関数への参照をFrame-AからWin-Bに渡すことができますか?

win_b.setCallback( callback );callbackFrame-Aの関数はどこですか

フレームAを更新し、Win-Bへの参照を再確立した後。

于 2012-12-12T20:00:14.290 に答える