メインウィンドウ内のアクションで、サブウィンドウを操作するスクリプトです。
(例:リンクのクリックでサブウィンドウを閉じる)
<html> <head> <title>HTML index Webサイト</title> <script type="text/javascript"> <!-- var win1; // サブウィンドウを開く処理 function disp(url){ win1 = window.open(url, "window_name", "width=350,height=250,scrollbars=yes"); } // サブウィンドウを操作する処理 function subwin(){ if(!win1 || win1.closed){ // サブウィンドウの存在をチェック window.alert('サブウィンドウがありません'); // 存在しない場合は警告ダイアログを表示 } else{ win1.close(); // 存在する場合はサブウィンドウを閉じる } } // --> </script> </head> <body> <p><a href="example_sub7.html" target="window_name" onClick="disp('example_sub7.html')">サブウィンドウを開く</a></p> <p><a href="#" onClick="subwin(); return false;">サブウィンドウを閉じる</a></p> </body> </html>
まず、サブウィンドウを開くときに「戻り値」を代入しておきます(win1 = の部分)。
win1 = window.open(url, "window_name", "width=350,height=250,scrollbars=yes");
この win1 を使ってサブウィンドウを操作します。
※サブウィンドウを開くときの設定については、「サブウィンドウを開く」を参考にしてください。
上記の例は、一度開いたサブウィンドウをメインウィンドウ内のリンクで閉じています。
サブウィンドウを操作する部分では、まずサブウィンドウが存在するかどうかを確認した上で、存在する場合は閉じる処理を行い、存在しない場合(まだ開いていない・すでに閉じられている)は警告ダイアログを表示しています。
※存在しないウィンドウは操作することができませんので(エラーが出てしまいます)、上記のような確認の処理を行っています。
「閉じる」部分の処理はサブウィンドウ操作の一例ですので、アレンジしてお使いください。
青い文字の部分は、必要に応じて書き換えてください。