我正在向另一个我不控制内容的站点打开一个子窗口。我已经实现了我在这里找到的模式,即使用设置的超时来检查 window.closed 属性。
我发现这个已确认的边缘错误报告。边缘问题报告
这是现在的代码。
var myWindow = window.open(
url,
'myWindow',
'height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,directories=no,status=yes');
// Check for the myWindow to close. When closed attempt to validate.
var timer = setInterval(checkWindow, 1000);
function checkWindow() {
debugger;
// Try Block to catch our popup window being blocked
try {
if(myWindow.closed) {
clearInterval(timer);
//do stuff here
}
}
catch(e) {
clearInterval(timer);
//handle blocked popups and other stuff
}
}
当它到达调试器步骤并且我检查 myWindow.close 时,它总是正确的。在 chrome 中,在我真正关闭子窗口之前它是错误的。人们正在使用解决方法或不同的模式吗?