- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:window名の指定方法(close処理))
JavaScriptでのwindow.openの制御方法について
このQ&Aのポイント
- JavaScriptでのwindow.openを制御する方法について質問があります。画面Aからログインを行い、ポップアップ画面Bを表示させていますが、画面Bが閉じられているかどうかを確認する方法がわかりません。
- ログイン画面Aからポップアップ画面Bを表示させ、画面Bが閉じられているかどうかを確認する方法について質問があります。
- JavaScriptのwindow.openを使ってポップアップ画面Bを表示させていますが、画面Bが閉じられているかどうかを確認する方法が分かりません。どのように指定すれば良いでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
疑問点があります。 3で画面Aから再度ログインした場合は画面B表示のままリロードだけ行われれば良い気がしますが? リロード後も画面を閉じるスクリプトを作ってみました。参考になればよいのですが。 <html> <head> <title>ウィンドウオープン親</title> <script language="JavaScript"> <!-- function openWindow(){ nWin = window.open('childWindow.html','wWindow','width=300,height=300,status=yes'); } function closeWindow(){ nWin = window.open('childWindow.html','wWindow','width=300,height=300,status=yes'); nWin.close(); } // --> </script> </head> <body> <form name="form1"> <input type="button" value="押す" onClick="openWindow()"> <input type="button" value="閉じる" onClick="closeWindow()"> </form> </body> </html>
お礼
返答ありがとうございます。 3の処理で画面を閉じなければいけない理由として、その画面がログオフ処理の機能を持っている為 bodyタグに onunload処理が入っています(右上の×ボタン対応の為)。 それによって、やむなく画面を閉じなければならないのです。 この返答を見るまでにかなり試行錯誤してみまして、自分なりに回答を見つけました(結果的にtorakiyojpさんの返答と同一の考え方です^^;)。 //ダミー画面を上げる popDisp = window.open("about:blank", "pop", "width=1,height=1,top=10000,left=10000"); logOff.close(); //本来の画面を立ち上げる (先ほどの処理) これで、処理的には画面Bを確実に閉じられ、かつ新しいポップアップ画面が上がるようになりました。 ありがとうございました。