• 締切済み

ポップアップウインドウを開いて閉じる方法はありますか。

1:リンクを設定してマウスでクリックしたときにポップアップウィンドウを1つ開き、そのまま閉じずに放っておく。 2:別のリンクをクリックした時に、1:で開いたポップアップウインドウがすでに閉じているときは普通にポップアップウインドウを開いて、あらかじめ開かれている場合は、一旦閉じてから新たにポップアップウインドウを開く。 このようなことは可能でしょうか。 いろいろ試したのですが、とうとう行き詰ってしまいました。あつかましいですが、ソースをお願いできればと思います。

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS"> <title>sample</title> <script type="text/javascript"><!-- var PopUpWin; function reopen(){ if(PopUpWin == undefined){ alert("一度も開かれていません"); return; } if(PopUpWin.closed){//既に閉じていたらオープン PopUpWin=window.open("popup.html"); } else {//開かれている時 PopUpWin.close(); //閉じて PopUpWin=window.open("popup.html");//開き直す } } //--> </script> </head> <body> <p> <a href="#" onclick="PopUpWin=window.open('popup.html');return false;"> ポップアップウィンドウを1つ開く </a> <br> <br> <br> <br> <a href="#" onclick="reopen();return false;"> ポップアップウィンドウを開き直す </a> </p> </body> </html> ---------------------------------------------------------------- if(PopUpWin.closed){//既に閉じていたらオープン PopUpWin=window.open("popup.html"); } else {//開かれている時 PopUpWin.close(); //閉じて PopUpWin=window.open("popup.html");//開き直す } は、 if(!PopUpWin.closed){//既に閉じていなかったら PopUpWin.close(); //閉じて } PopUpWin=window.open("popup.html"); でいいです

xiaolong_goo
質問者

補足

お返事有難うございます。 詳細なソースまで教えていただき感謝いたします。 参考に組んで見たいと思います。

  • asahina02
  • ベストアンサー率47% (95/202)
回答No.1

ポップアップウィンドウの開き方ですが、リンクをクリックしてますが、そこからJavaScriptでopenしてたりするのでしょうか? リンクでtarget指定で開いているのなら targetの名前を同じにしておけば良いのではないでしょうか。 ※この場合、開いて閉じるではなく、同じウィンドウに表示になります 例: <a href="foo.html" target="aiueo">リンク1</a> <a href="bar.html" target="aiueo">リンク2</a>

xiaolong_goo
質問者

補足

お返事有難うございます。 WindowはJavaScriptでオープンします。 処理の都合上、一旦開いたWindowは、必ず閉じなければなりません。 人為的に、閉じてもいいのですが、閉じ忘れたときに困りますので、その処理を考えています。

関連するQ&A