0

子ウィンドウが閉じられたことを検出しようとしています。ユーザーがポップアップを開き、ポップアップを閉じます。ポップアップがいつ閉じられたか知りたいです。この問題の一般的な解決策は、タイマーをウィンドウに配置することです。この質問は、stackoverflow の複数の場所や Web の他の場所で既に回答されているためです。

私の問題は、何かが子ウィンドウの close プロパティを変更していて、ユーザーがウィンドウを閉じているわけではないことです。何が原因でしょうか?

これが私のコードです(ちなみに、ANDは二重のアンパサンドでなければならないことを知っています。何らかの理由で、SOはそこに投稿させてくれませんでした):

var childWindow = window.open(destURL, "thePopUp", "");
var count = 1;
var pollTimer = window.setInterval(function () {
        alert(childWindow.closed.toString() + count.toString());
        if (childWindow && childWindow.closed && count > 5) {
            window.clearInterval(pollTimer);
            handler();
        }
        count++;
    }, 200);

これは適切に機能していなかったので、何が起こっているのかを確認するためにそこにアラートを入れました. アラートには次のメッセージが表示されます。
false1
true2
true3
true4
true5

したがって、1 と 2 の間のどこかで、closed プロパティの値が false から true に変わります。しかし、私は何もしておらず、ウィンドウはまだ開いています。では、なぜ false から true に変わるのでしょうか?

4

1 に答える 1