• ベストアンサー

親ウィンドウから子ウィンドウの子ウィンドウを閉じたい

 親ウィンドウから子ウィンドウを開き、 その子ウィンドウで子ウィンドウ(孫ウィンドウ?)を開きます。 その状態で、親ウィンドウの画面移動で、子ウィンドウと孫ウィンドウを閉じたいのですが、できません。 JavaScript1--  ssWin = window.open('---'); ---- JavaScript2--- if(ssWin != null){ if (!ssWin.closed){ssWin.close(); }} ------ 子ウィンドウまでは上記の方法で閉じれるのですが、孫ウィンドウの制御となると、どうやったらいいかわかりません。  どなたかすいませんが、いい方法がありましたら、ご教授くださいませ。

質問者が選んだベストアンサー

  • ベストアンサー
  • lunar16th
  • ベストアンサー率66% (10/15)
回答No.1

ちょっと名前を整理させて下さいませ。 親ウィンドウ→子ウィンドウ→孫ウィンドウ という呼び名で呼ばせて頂きます。 あくまでアドバイス程度の物しかできないので何か他にいい方法があるのかもしれないですが、TENEHTさんはJavaScriptで普通の関係ならばウィンドウ制御プログラムはできる方とお見受けしますので簡単に書かせて頂きますね。 ☆案1 【1】子ウィンドウに孫ウィンドウを閉じる関数を実装する。 【2】子ウィンドウ内、BODYタグのonUnloadで上記関数を実行する。 【3】親ウィンドウから子ウィンドウを閉じると孫ウィンドウが子ウィンドウによって閉じられる。 ☆案2 【1】子ウィンドウに孫ウィンドウを閉じる関数を実装する。 【2】親ウィンドウから子ウィンドウ内の孫ウィンドウを呼び出す関数を実行する。 【3】親ウィンドウから子ウィンドウを閉じる。 ※子ウィンドウ内の関数はssWin.○○()という形で簡単に呼び出せます。 こんな感じの実装で如何でしょうか?

TENEHT
質問者

お礼

ご教授ありがとうございます。 さっそく案2の方を採用しました。 孫ウィンドウは複数の子ウィンドウで呼ばれる処理なので、Jsファイルで共通化し、親ウィンドウで呼んだところうまくいきました。 子ウィンドウ内の関数を呼び出すことができるのを知らなかったので、大変勉強になりました。 ありがとうございました。

その他の回答 (1)

  • osumitan
  • ベストアンサー率33% (102/307)
回答No.2

子ウィンドウの方にfunctionを設けて、 孫ウィンドウを閉じる処理を書いておき、 そのfunctionを親ウィンドウが呼べばいいと思います。

TENEHT
質問者

お礼

ご教授ありがとうございます。  Jsファイルで共通化し、親ウィンドウで呼ぶ処理にさせていただきました。 子ウィンドウ内の関数を呼び出すことができるのを知らなかったので、大変勉強になりました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう