我正在尝试检测子窗口何时关闭。用户打开一个弹出窗口,然后关闭该弹出窗口。我想知道弹出窗口何时关闭。这个问题的常见解决方案似乎是在 Window 上放置一个计时器,因为这个问题已经在 stackoverflow 和网络上的其他地方的多个地方得到了回答。
我的问题是某些东西正在改变我的子窗口上的关闭属性,而不是用户关闭窗口。这可能是什么原因造成的?
这是我的代码(顺便说一句,我知道 AND 应该是一个双&符号,由于某种原因,所以不让我在那里发布):
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 之间的某个地方,关闭属性的值从 false 变为 true。但我什么也没做,窗户还开着。那么为什么它会从假变为真呢?