UPDATE 2012-01-10
弹出的网址是另一个域作为父窗口,这似乎是问题!我该如何解决它?window.closed IE9时,窗口仍处于打开状态报告真实
我使用下面的代码来检测弹出窗口是否关闭。它在Firefox 8和Chrome中运行正常,但在IE9中无法正常工作。在IE9中,当弹出窗口仍然打开时,“true”的提示已经显示。为什么IE9有窗口的引用和closed
属性报告true
当窗口仍然打开?我该如何解决它?
的Javascript
var dialogWindow;
var dialogTimer;
function openDialog(url, name, options) {
dialogWindow = window.open(url, name, options);
dialogTimer = setInterval(function() {
if(dialogWindow.closed) // IE9 reports true and executes function
{
alert(dialogWindow.closed); // alert with "true"
clearInterval(dialogTimer);
window.location.reload();
}
}, 2500);
if (dialogWindow && dialogWindow.focus)
dialogWindow.focus();
}
UPDATE 我也尝试以下方法,这显示了在IE9
var dialogWindow;
var dialogTimer;
function openDialog(url, name, options)
{
dialogWindow = window.open(url, name, options);
dialogTimer = setInterval("checkDialogOpen()", 2500);
if (dialogWindow && dialogWindow.focus)
dialogWindow.focus();
}
function checkDialogOpen()
{
if(dialogWindow.closed)
{
alert(dialogWindow.closed);
clearInterval(dialogTimer);
window.location.reload();
}
}
很好找。这不是一个真正的解决方案,但至少现在我知道这不是我疯了。 :) – Bazzz