2012-02-20 11 views
0

ポップアップから呼び出すiFrame(同じドメイン)に関数があります。window.openerからiframeのjavascript関数を呼び出す

基本的には、window.opener.document.getElementById( 'topFrame')のようなことをしたいと思います。contentWindow.setActive( '1');

ポップアップのwindow.openerには、関数setActive( '1')を実行する必要があるid "topFrame"(より良い解決策の場合は "topFrame"という名前)のiframeがあります。 しかし、上記のコードは機能しませんし、Googleはこの特定のケースの解決策を見つけるのに本当に役立っていません。

誰でもアイデアはありますか?

Thxを

+0

どの時点で動作しませんか? iframeなどへの参照が正常に取得されたことを確認するためにログを試みましたか?どんな「ドット」がそれを壊しているのかを突き止めることができれば、問題をデバッグするのに役立ちます。 – GregL

答えて

0

あなたのラインが実際に動作するはずですし、おそらく問題はタイミングの問題は:最も可能性の高いあなたのiframeを使用して、その機能を呼び出すためにしようとしている時に読み込みが完了していません。 loadまたはDomReadyの後に電話をかけると、このトリックが行われます。

(タイムアウトで呼び出しをラップして、それが後で動作するかどうかを確認することもできます)。

0

あなたはIFRAMEウィンドウからポップアップを開いている場合、私はまた、この間違いを犯したためにいるwindow.opener自体があなたにケースかもしれません.ITのiframeウィンドウに戻りますので、あなたが

window.opener.setActive('1'); 

を使用する必要があります。あなたの問題が解決されることを祈ってください:)

関連する問題