CGI-BBS > JAVA/JavaScript > JavaScript > サブウインドウが閉じた時にアクションを


カレッヂ
カレッヂ


質問者 がん太  投稿日 10/23(火) 12:53:08
いつもお世話になっております。がん太といいます。
教えてほしいのですが、メインウインドウからサブウインドウを立ち上げて、そのサブウインドウがブラウザの×ボタンで閉じられたときのみアクションを起こしたいと思っています。
onUnloadだけではサブウインドウでページが切り替わったときもアクションを起こしてしまうので、window.closedを併用してどうにかブラウザが閉じたかどうか知りたいのですが、どうも期待した結果が得られません。
下記のスクリプトだとサブウインドウをブラウザで閉じますとwindow.closedはfalseと返してきます。どなたか良い方法をご存知の方、お知恵を拝借いただけないでしょうか?
どうぞ、宜しくおねがいします。

<メインウインドウ>
<html>
<head>
<body onload="javascript:window.open('AAA.html','subWindow')">
メインウインドウ
</body>
</html>


<サブウインドウ>
<html>
<head>
<script language="javascript">
function windowcheck() {
        var flg = window.closed;
        if (flg == true) {
                alert("イベントスタート!!");
        }
}
<body onUnload="windowcheck()">
サブウインドウ
<a href="BBB.html">ページの移動ではイベントは発生しない</a>
</body>
</html>
回答者 v798  [削除]  投稿日 10/30(火) 16:40:21
windowをオープンした時に、そのウィンドウに名前をつけて
おけば、closed プロパティで開いているかどうかはわかると思います。
ただし・・xを押したときに起動する
イベントはわからないです。
回答者 onigiri  [削除]  投稿日 12/11(火) 17:52:23
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
var x = false
function Unlo(){
        if(x == false ){
//ここから下に実行したいことを!
                alert('!');
//ここまで
        }
}
//-->
</SCRIPT>
<TITLE> </TITLE>
</HEAD>
<BODY onUnload="Unlo()">
<INPUT TYPE="button" VALUE="GO!" onClick="x=!x;location.replace('リンク先のアドレス')">
</BODY>
</HTML>
回答者 onigiri  [削除]  投稿日 12/11(火) 17:53:50
↑のでいいと思います。
できなかったらonigiri@mocha.freemail.ne.jp宛にメール送ってください。
回答者 onigiri  [削除]  投稿日 12/11(火) 17:56:09
度々すいません。
<INPUT TYPE="button" VALUE="GO!" onClick="x=!x;location.replace('リンク先のアドレス')">
のところは、

<A HREF="javascript:x=!x;location.href='リンク先のアドレス'>リンク</A>

でもいいですよ!

回答者 おにぎり  [削除]  投稿日 12/12(水) 13:30:53
度々すいません。
<INPUT TYPE="button" VALUE="GO!" onClick="x=!x;location.replace('リンク先のアドレス')">
のところは、

<A HREF="javascript:x=!x;location.href='リンク先のアドレス'>リンク</A>

ではなく

<A HREF="javascript:x=!x;location.href='リンク先のアドレス'">リンク</A>

でした。

返信(回答)する


Web裏技