No.1ベストアンサー
- 回答日時:
子ウィンドウに親ウィンドウ側から別のページを読み出したり、あるいは子ウィンドウ内でページを移動・更新したりすることがないのであれば、window.onunloadのイベントを拾って親ウィンドウを閉じる処理を入れておくのが良いのではないかと思います。
window.onunloadは、現在表示されているページが、ページ移動・更新・ウィンドウを閉じる動作などで破棄された時を拾いますので、子ウィンドウを閉じた時に親ウィンドウを閉じるようにもできると思います。
その場合は、子ウィンドウ側のソースに、以下のソースを追加すれば実現できます。
<script type="text/javascript"><!--
function parentclose(){
if (opener){
opener.close();
}
}
window.onunload=parentclose;
//-->
</script>
ただし、先にも書いたように、子ウィンドウを再利用して別のページを読み出したり、あるいは子ウィンドウ内のコンテンツで更新・別ページへの移動ができる場合は、それらの動作を実行された時にも、その現在表示されているページが破棄されたことを検知して親ウィンドウを閉じようとします。 そういった動作を含むサイト設計をしている場合には、この方法は使えないでしょう。
また、親ウィンドウとなるウィンドウがスクリプトなどで開かれたウィンドウではない場合(ユーザーが任意で開いたウィンドウの場合)、IEではそのウィンドウをスクリプトから閉じようとしていることの警告ダイアログが出ますし、Netscape7ではその動作自体をセキュリティエラーとして実行しないようになっています。 状況によっては、実装しても思い通りの動作にならない可能性もあるかもしれません。
参考になれば幸いです。
この回答への補足
ご回答ありがとうございます。
ご回答の中にもございますが、親ウィンドウが閉じられるときに、警告が出てしまいますが、これをなくすことは、可能でしょうか。
もし、ご存知でしたら教えていただけないでしょうか。
No.2
- 回答日時:
補足読みました。
親ウィンドウを閉じる時に出る警告についてですが、これは閲覧者が任意で開いているウィンドウを閉じようとしている限りは避けられない動作になると思います。 これは、スクリプトの動作により、ユーザの意思に反してブラウザが終了してしまうことを回避するために用意されている機能でしょうし、ブラウザの仕様がそうなっている以上、いかんともしがたいと思われます。
ただ、スクリプトやa要素のtarget指定で開いたウィンドウに関しては、警告を出さずにスクリプトから閉じることができます。
ですので、親ウィンドウを別のページから開く時に、あらかじめ別ウィンドウに開いておくようにすれば、一応警告を出さずに親ウィンドウを閉じることができます。 もし可能でしたら、その親ウィンドウになるページを、そのページを読み出す時に別ウィンドウで開くようにサイトを設計しておくことも、一つの解決策になると思います。
その他の策としては、ちょっと思いつきません… もし上記の方法では目的に適わないという場合は、ごめんなさい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) windows10で作業を終了する際の「保存しますか はい いいえ」を表示させずに自動で保存する方法 6 2023/03/15 11:29
- その他(ブラウザ) Edgeバー 3 2023/02/23 18:33
- レトロゲーム 回答が来なくて困っています!!!誰か助けて下さい!!! https://ux.getuploader 1 2022/11/20 13:54
- LANケーブル・USBケーブル パソコンについて 2 2022/03/28 18:30
- Windows 10 ノートPCをスリープにするとアプリが閉じてしまう。 3 2022/04/14 18:33
- その他(プログラミング・Web制作) pythonで変数にオブジェクトを代入するにはどうしたらよいでしょうか 2 2023/08/20 20:36
- Windows 10 2つのウィンドウ選択時の表示について 10 2023/07/25 08:48
- Excel(エクセル) WPSスプレッドシートの起動オプションの設定は可能ですか? 1 2023/02/11 19:49
- Word(ワード) Microsoft Word2023で、修正箇所を表示させたい 1 2023/02/09 10:07
- UNIX・Linux ubuntu ウィンドウのバー ダブルクリック 巻き取る 1 2022/04/28 19:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javascript_submit()完了後に処...
-
エクセルのシート上に別のシー...
-
VBAで任意のウインドウのサイズ...
-
ポップアップと作業ウィンドウ...
-
インタネットからPDFファイルだ...
-
window.openでform内のデータを...
-
1クリックでモーダルを開いてか...
-
履歴を残さないResponse.Redire...
-
ウィンドウの2重起動を防止したい
-
ブラウザ(IE)からエクスプロー...
-
孫ウインドウを閉じたら親をリ...
-
子ウィンドウを常に手前表示、...
-
新しく開いたウィンドウへの要...
-
IEでのみ発生するJavaScriptエラー
-
タスクバーに非表示
-
親ウィンドウから開いた子ウィ...
-
VBの画面で、全ウィンドウを一...
-
助けてGmailでボタン表示が消え...
-
子ウィンドウの存在確認
-
ウインドウの親子連携について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
Javascript_submit()完了後に処...
-
VBAで任意のウインドウのサイズ...
-
ウィンドウの2重起動を防止したい
-
VBの画面で、全ウィンドウを一...
-
ポップアップと作業ウィンドウ...
-
子ウィンドウから親ウィンドウ...
-
ウィンドウ名からウィンドウオ...
-
子→親ウインドウへデータを受け...
-
子ウィンドウの存在確認
-
子ウィンドウから親ウィンドウ...
-
window.openで新しいページを後...
-
<EXCEL/VBA> OUTLOOKのウインド...
-
親ウィンドウから開いた子ウィ...
-
window.Openをモーダルにできま...
-
1クリックでモーダルを開いてか...
-
孫ウインドウを閉じたら親をリ...
-
子ウィンドウの「閉じる(×)」...
-
JavaScriptで指定Windowを最大...
-
助けてGmailでボタン表示が消え...
おすすめ情報