アプリ版:「スタンプのみでお礼する」機能のリリースについて

ウインドのタイトルバー右上にある「×」が押されてウインドウが閉じられる
場合というのは取得できるでしょうか?
closeやanLoad等使用して自分なりにもやってみましたが、
どうしてもうまく行きません。

分かる方、参考になるHP等知っている方よろしくお願いします。

A 回答 (2件)

ちょっと試してみたのですが、


submitを使用しますと、その後にunloadが実行されてしまうようです。
右上の閉じるボタン(以下、[x])を押した場合にもunloadが実行されてしまうようなので、
onUnloadの指定だけですと、だめです。
そこで、かなり強引な方法を思いついたので、一応書いておきます。

----------------------------------------------------------------------
<html>
<head>
<title>submit</title>
<script language="JavaScript">
<!--
function check(){
  if(event.clientX<0) //clientXはクライアント領域(ウィンドウ)上のX座標
  alert('またきてね');
}
//-->
</script>
</head>
<body onUnload="check()">
<form action="http://www.yahoo.co.jp/">
<input type="submit">
</form>
</body>
----------------------------------------------------------------------

こんな感じでclientXを使用しますと、
[x]を押したときにはクライアント領域を抜けてでしまっているので、
clientXの値はマイナス値を取ります。
それを利用して、[x]を押した場合とsubmitを押した場合で、
場合わけをしてみました…。
上の例ですと、[x]を押した場合だけ、「またきてね」が表示されます。
参考になるかわかりませんが^^;

IE6で動作確認。
    • good
    • 0
この回答へのお礼

お返事遅れてすいませんでした。
kentayosさん何度もありがとうございます。
とても参考になりました^^
色々とお手数をおかけしてすいませんです。

本当にどうもありがとうございました。

お礼日時:2002/03/04 12:00

どうも^^kentayosです。


ページが閉じられるイベントを取得するには、
「onUnload」を使えばできます。

---------------------------------------------------------------------
<body onUnload="alert('またきてね');">
---------------------------------------------------------------------

ただし、この例だと、ページが閉じられたあとに
虚しくアラート出てしまうので、

---------------------------------------------------------------------
<body onUnload="alert('またきてね'); window.open('test.html','_blank','')">
---------------------------------------------------------------------

こんな感じにするとウィンドウを閉じつつ、
新しいウィンドウを開かせることができます。
「広告を閉じると新しいウィンドウが開く」というあれですね…
    • good
    • 1
この回答へのお礼

さっそくのお返事ありがとうございました。
しかし、この方法だとsubmitした場合にも処理してしまいますよね?
理由があり一枚の画面にsubmitさせているためこの方法ではちょっと・・・

お礼日時:2002/02/28 18:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!